codeforces杂题记录

codeforces杂题记录

这也是当前的写题队列

1. 995 E. Number Clicker

题解
暴力!暴力从u,v bfs,只走<1e7的数。或者随机
总结:开脑洞,要大胆的尝试暴力

待写 30min(两种写法)

2. 1000 G

题解:树上倍增

是否进入每个子树,和每个子树经过时的最大收益可以预先DP
最后倍增就好

待写 30min

3. 1000 F

题解: 离线+线段树

**经典套路: **固定右端点,维护每个位置(如果该位置上的数最后一次出现)的最大前驱,查询min即可
右端点右移是单点修改

待写 20min

4. 1009 G

题解: hall定理或者网络流+贪心

hall定理:把6个字符建成点,和每个位置匹配,需要check这个位置填当前字符是否有解,贪心的往后填。
check的时候根据hall定理,枚举子集和超集check

网络流: 每个点对应的mask建点和相应的字符连边,每次check强制退流再暴力找是否可以增广,比较麻烦

待写 第一种 20min

5. 981 H

题解: 树形dp + fft

方案数的式子挺好推。技巧是对式子进行分治fft,一开始真没想到会这么暴力
最后统计答案的时候需要除以项,这个利用常数项为1,直接线性递推

待写 25-35min

6. 1102 F

题解: 最小哈密顿路径或二分答案,判是否存在哈密顿路径

关于二分答案之后,因为只需check存在性,就不需要在状态中记录起点,而把dp的值改成当前所有合法起点集合,最后起点和终点再特判
**哈密顿路径2n * n2 经典状压dp

7. 986 F

题解: 转化为check不定方程是否有正整数解

对最小的系数取模,然后跑最短路
非常好的想法,把方程解和图论联系起来
同bzoj 墨墨的等式做法

以后复习的时候应该写写 30min

8. 1031 F

题解: 暴力。只考虑每个质因数的次数(x1,x2,…,xk)(x1 < x2 < … < xk),在1e6之内的这样的向量只有289个,可以暴力floyd,枚举中转点即可。

需要适当扩展,不用到理论上限,大胆的适当选取上界即可。只用考虑最多选22个质因数(即xk<=22)或者只用考虑因数个数<=300的数作为中间状态

猜你喜欢

转载自blog.csdn.net/weixin_42484877/article/details/86532465
今日推荐