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