2017-C15-team4

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

||10621584 ||ZJUTeam4||G||Accepted||C++|| 04:46:16||
||10621423 ||ZJUTeam4||L||Accepted||C++|| 04:15:40||
||10621390 ||ZJUTeam4||L||Wrong Answer||C++|| 04:08:08||
||10621271 ||ZJUTeam4||L||Wrong Answer||C++|| 03:45:06||
||10621153 ||ZJUTeam4||D||Accepted ||C++|| 03:15:23||
||10620965 ||ZJUTeam4||D||Wrong Answer||C++|| 02:33:23||
||10620564 ||ZJUTeam4||B||Accepted||C++|| 01:41:16||
||10620466 ||ZJUTeam4||B||Wrong Answer||C++|| 01:25:23||
||10620256 ||ZJUTeam4||K||Accepted||C++|| 00:41:46||
||10620201 ||ZJUTeam4||C||Accepted||C++|| 00:28:27||
||10620184 ||ZJUTeam4||C||Wrong Answer||C++|| 00:23:15||
||10620170 ||ZJUTeam4||C||Wrong Answer||C++|| 00:20:28||
||10620136 ||ZJUTeam4||I||Accepted||C++|| 00:13:01||
== zya ==
开场先看M题感觉是个巨大的数据结构题,思考一会儿没有想法,跳过。L题想到一半发现是错的,这时候JYW学长让我想C题,我想到了上去写,JYW发现I题签到,签完后我交C,因为小错误wa了两发,之后JYW学长过了K和B,我想到了D的做法,让他给我写一个维护分数最小值的线段树,写到一半发现这个线段树不是很好写,好像是错的。后来我发现根据题目的特殊性,这种写法又是对的,唯一的问题就是分数相等的时候保留分母大的还是小的,一开始保留大的WA了一发,我猜想应该保留小的就过了。之后JYW学长想到了L,我看别的题,发现G可做,于是最后我们就写这两题。最后都过了。
== 题解 ==
D()从左到右扫描,考虑以当前颜色A为右端点的所有区间,只有在上次A位置之后的区间分子会加一,而整个区间的分母则都加一,这样就转化为一个区间分母加1,分子分母同时加1然后询问区间最小值的问题,题目特殊性使得区间内部的大小关系不会改变,所以可以用线段树写。问题在于,节点中如果两个儿子分数相等,应该保留哪个,保留小的可以通过题目数据,但是其正确性不得而知。
== 补题 ==
A()
E()
F()
H()
J()
M()
10621584 ZJUTeam4GAcceptedC++ 04:46:16
10621423 ZJUTeam4LAcceptedC++ 04:15:40
10621390 ZJUTeam4LWrong AnswerC++ 04:08:08
10621271 ZJUTeam4LWrong AnswerC++ 03:45:06
10621153 ZJUTeam4DAccepted C++ 03:15:23
10620965 ZJUTeam4DWrong AnswerC++ 02:33:23
10620564 ZJUTeam4BAcceptedC++ 01:41:16
10620466 ZJUTeam4BWrong AnswerC++ 01:25:23
10620256 ZJUTeam4KAcceptedC++ 00:41:46
10620201 ZJUTeam4CAcceptedC++ 00:28:27
10620184 ZJUTeam4CWrong AnswerC++ 00:23:15
10620170 ZJUTeam4CWrong AnswerC++ 00:20:28
10620136 ZJUTeam4IAcceptedC++ 00:13:01

zya

开场先看M题感觉是个巨大的数据结构题,思考一会儿没有想法,跳过。L题想到一半发现是错的,这时候JYW学长让我想C题,我想到了上去写,JYW发现I题签到,签完后我交C,因为小错误wa了两发,之后JYW学长过了K和B,我想到了D的做法,让他给我写一个维护分数最小值的线段树,写到一半发现这个线段树不是很好写,好像是错的。后来我发现根据题目的特殊性,这种写法又是对的,唯一的问题就是分数相等的时候保留分母大的还是小的,一开始保留大的WA了一发,我猜想应该保留小的就过了。之后JYW学长想到了L,我看别的题,发现G可做,于是最后我们就写这两题。最后都过了。

题解

D()从左到右扫描,考虑以当前颜色A为右端点的所有区间,只有在上次A位置之后的区间分子会加一,而整个区间的分母则都加一,这样就转化为一个区间分母加1,分子分母同时加1然后询问区间最小值的问题,题目特殊性使得区间内部的大小关系不会改变,所以可以用线段树写。问题在于,节点中如果两个儿子分数相等,应该保留哪个,保留小的可以通过题目数据,但是其正确性不得而知。

补题

A()

E()

F()

H()

J()

M()