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

我以为我是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

先鸽着明早补。

猜你喜欢

转载自www.cnblogs.com/Kylin-xy/p/tijie-cf1373.html
今日推荐