codeforces Educational Codeforces Round 51 (Rated for Div. 2)

Background

闲来无事在月考前一周半夜组队打cf,经历大半年的持续下跌后rating终于回升到正常水平quq
纪中的模拟赛真是太毒瘤了orz,真的是noip难度嘛
代码就不放了,写得晕乎乎有点丑

A

显然一种字符只会替换一个字符,于是暴力枚举替换就可以了

B

小学知识告诉我们相邻两个正整数gcd为1,于是我们相邻两两匹配即可

C

注意到我们每次从A中取走一个单独的数二者差减少2,从A中取走一个B中没有的不单独的数二者差减少1,然后随便做就可以了

D

考虑dp,f[i,j,0/1/2/3]状压做就可以了

E

考虑dp,f[i]能转移的区间一定是连续一段,并且这一段的l和r随着i增大是单调的,于是我们前缀和一下就可以nlogn了
需要注意前导零的情况,这样那一位贡献为0

F

我们发现给定的图是一棵树+至多21条边,只需要以21条边的x和y作为起点跑spfa就可以了。证明的话比较感性,但是可以发现是对的

G

没看懂题目也并不会做

你可能感兴趣的:(c++,codeforces)