【题解】CF616(Div 2)简要题解

【题解】CF616(Div 2)简要题解

A

分类讨论

  • 若数码和是奇数
    • 若最后一个数是奇数:找到从前往后第一个奇数数位删掉
    • 若最后一个数是偶数:不断删除最后一个数直到这个剩下的数是奇数,由于之前删掉的数都是偶数所以对数码和\(\mod 2\)不会有影响。再做一遍第一个算法即可。
  • 若数码和是偶数
    • 若最后一个数是奇数:符合条件
    • 若最后一个数是偶数:不断删除最后一个数直到奇数。由于之前删掉的数都是偶数所以对数码和\(\mod 2\)不会有影响,直接输出即可。

最后要判断一下前导零。

B

可以发现若有合法解,那么解一定可以写成\(0,1,2,3\dots j,x-1,x-2\dots 0\)的形式。维护一个\(a_i-i\)\(a_i-(n-1-i)\)的前缀和后缀的min就好了。

C

肯定尽量多的控制人,所以全用上。

枚举一下被我控制的人中,多少人是pop_front。

然后再枚举没有被我控制的人,多少个pop_front。

此时就可以知道我现在可以取哪两个数,取大的就好了。

D

毒瘤结论题...

posted @ 2020-02-03 01:41  谁是鸽王  阅读(218)  评论(0编辑  收藏  举报