Educational Codeforces Round 62 (Rated for Div. 2) 部分题解

BG


两天连打搞得现在神志不清意识模糊,不过总算上2k了
昨晚被电脑自动更新gank了只得借别人的机子,键盘真难用.jpg
手速太重要了。。还有开题的顺序啥的,难度不一定递增.jpg

A


sb题,枚举最后一位然后加一加就可以了

B


没看到在操作之前的限制WA了一发,一开始以为答案只可能是0或者1
最终肯定可以变成全部一样+某一边剩下一个反向的,显然只有最左的<和最右的>有用,我们算一下取min就可以了
注意n=1的时候是0

C


一个直观的响法就是我们按照b排序,然后枚举b最小的选前k-1大的t
最开始写的是权值线段树上二分的做法,后面发现短小且精悍的优先队列就能解决这个问题。

D


一个直观的响法就是我们O(n3)区间dp一下,这似乎也是出题人的本意。然鹅手玩一下可以发现一定是1向其余点乱剖,这样可以保证是最小的。

E


在开黑团的帮助下搞出了这题。。被教育了

不存在奇数长度的回文串等价于不存在长度为3的回文串
我们把偶数位置和奇数位置抠出来分别考虑,那么等价于往里面的一些位置填数字,使得任意相邻位不相同的方案数
注意到连续的一段-1是独立的,我们讨论一下一整段-1前后数字的关系然后算一下就可以了
具体说就是设f[i,0/1]表示填了i个数字,第i位和第1位是否相等的方案数,转移就比较显然了

F


看这里

G


留坑待填

你可能感兴趣的:(c++,codeforces)