首页 > 其他 > 详细

Educational Codeforces Round 90 (Rated for Div. 2) (CF1373)

时间:2020-06-26 09:45:25      阅读:46      评论:0      收藏:0      [点我收藏+]

我以为我是edu场没切A的唯一一人,赛后翻榜发现我不孤单……

\(A\)

我不会啊,有没有神仙教教我

\(B\)

每个\(1\)\(0\)都会相互抵消,因为总有\(01\)交界处(只有其中一种字符就没有)。于是统计\(0,1\)的个数,答案就是\(\min(cnt0,cnt1)\)的奇偶性,奇数则Alice赢,偶数则bob赢。

\(C\)

按照题意模拟即可,唯一的改变就是不用每次枚举init,简单来说就是前缀和\(S_i=S_{i-1}+(s_i==‘-‘?-1:1),S_i \lt 0\)\(ans+=i+1,S_i=0\),最后答案记得\(+n\),因为最后一次\(res+=n\)

\(D\)

这是我全场切的最快的题(

考虑reverse一个区间的本质是这个区间的偶数和换成奇数和,于是只要把每个奇数位置减去左边的偶数做一次最大子段和,再减去右边的偶数做一次最大子段和,两者取\(\max\)加上原来数组偶数位置上的数的总和即可。

\(E\)

考虑枚举末尾是几,因为\(0 \leq k \leq 9\),所以每次最多只会改变末尾两个数字。然后把末尾两位数字的和统计一下,再往前面填充,尽量满足位数小那就多填充9,最开头的就是对9取模剩下的。然后把每次的答案取最小值就行了。

\(F\)

考虑A的总人数如果比B还多肯定不合法,然后每个B只能满足它相邻的两个的A的需求,所以我们可以每次让这个A左边的B尽量满足它,然后右边的B把不满足它的补上,这样依次做下去,有一个补不上了那就不能满足,否则可以满足。

\(G\)

先鸽着明早补。

Educational Codeforces Round 90 (Rated for Div. 2) (CF1373)

原文:https://www.cnblogs.com/Kylin-xy/p/tijie-cf1373.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!