整体情况

思考时间用了一个半小时左右,偏长。

写代码的时间和注意力都不足了,就连前缀和也不想写了。

本次训练赛也暴露出了复杂度分析的bug,没有能力分析难以计算复杂度的程序。


A.AND, OR and square sum(CodeForces 1368D

显然贪心让最大的尽量大,不过场上没有考虑到重复最大值/最大值的二进制位已满的情况。

场上虽然想到了变换操作后1数量不变,但是并没有想清楚怎么利用这个性质,就以为是废掉的性质了。

正解:用桶维护每一位的1数量,最后直接构造数字即可。


F.Coin Rows(CodeForces 1555C) 

分析具体走法,容易发现Alice必然要在一个地方转弯,那么Bob只能取两段剩下的中的某一个,前缀和处理上面和下面的序列,取min(max(两段分别的段总和))即可。


G.Play Train(AtCoder abc225_d

比赛时自然而然地想了可持久化并查集+链表,但没有注意到题目限制,输出总量的数量级是10^6,实际上链表大力模拟即可。