标签:不能 删除 编程 维护 数组下标 旋转 span through 坑爹
第一次打算rating的cf,作此文留个纪念吧。顺便提醒自己把坑填了。
A,B都是水题,没啥好说的。不过感觉自己写的好慢。
C题题干好长,看了一下D题A的人更多,于是去看D题。
开始想的是直接按照长和宽排个序,交了一发WA了之后发现可以旋转的情况根本没有考虑。
然后就想用map乱搞,对于每个面维护一个最大值。交上去还是WA。
发现电脑很坑爹地-和=分不太清楚,于是被坑了。终于把D题A掉了
以为比赛是两个小时,都准备洗洗睡了才发现时间不对。
C题想到了分块,但是构造方案感觉很麻烦,应该是贪心构造,但是处理数组下标之类的问题会很费劲。
比赛结束不久交了一发随便构造的,发现WA了,因为可能有解的情况搞成无解了。
刚刚交了一发贪心的,构造的时候一是合并之后最大的优先。
证明应该很容易,考虑最大的一项,如果它不能合并,一定无解。因为其左端,右端必与中间相等。
所以要合并的话肯定是合并最大的。当然,如果直接按照上述证明找左右端点会很麻烦。
为了减少编程复杂度,我算数组下标都直接用vector的erase删除来维护了。。
注意erase不是earse
E,F占坑
Codeforces Round #378 (Div. 2)
标签:不能 删除 编程 维护 数组下标 旋转 span through 坑爹
原文地址:http://www.cnblogs.com/tsingyawn/p/6020386.html