本文搬运自本人初中博客园博客,若图片加载不出来,可到原文查看:https://www.cnblogs.com/zhangtingxi/p/16487746.html

比赛地址

比赛情况

排名:816 / 23280
AC:4 / 6

题目分析

A

先排序,最优策略显然是第1个人和第 n+1n+1 个人,第2个人和第 n+2n+2 个人,一直到第 nn 个人和第 2n2n 个人,然后判断是否存在不符合的情况

B

显然我们希望每一次都 j=1j=1,但因为有0的存在,所以我们需要把0变成1

所以答案为 i=1n1ai\sum_{i=1}^{n-1}a_i 加上第一个非0的数的地方开始到 n1n-1 区间里0的个数

C

先计算出它在哪一段,然后看一下其对应位置,然后重复操作

D

可以发现,无论怎么变,就是把连续的1或0缩短或扩长,不能消灭

既然如此,先判左右端点,然后计算连续1个数是否相等,然后每个连续1都必须移动到对应位置,规则是左端点移+右端点移,要注意的是,如果没空间可移还是不行

赛后总结

总得还行,但D题速度不够快,下了小分

先做A,数组开小,WA×1,5min时过

B看完样例后大胆猜了个结论,然后11min时过了

C思路很明显,但一开始没想到怎么打,21min时过

D思路一开始想不到,在纸上推了半小时才有思路

然后死活调不出,调出一个又一个,一直WA

最后69min时弃了,之后机械重复阅读代码找错误

91min时想着不管了,开个long long,开大数组交上去,然后就过了


赛后看D发现真要long long,赛时没分析出