0
点赞
收藏
分享

微信扫一扫

HAOI 2018 题解


​​[HAOI2018]染色​​​ 枚举最后有多少有多少个数的出现次数为
然后枚举是哪几种颜色,在哪些位置,其余随便填除这些颜色之外的颜色,颜色之内无顺序,随便填的颜色也考虑了顺序

等等,随便填的也可能正好 S 个,上面求的是至少 i 个的方案数
不妨用 来表示 ,
不妨用 来表示正好 i 个的答案

二项式反演一下


直接 NTT 即可
​​[HAOI2018]字串覆盖​​ 看题目范围就要代码分块来做
时, 我们队 A 建后缀自动机,把 B 拿去跑,通过fail树上倍增得到 在后缀自动机上的结点,每次询问时,在这个结点找 的点,然后往后跳,因为每一步可以跳 2000,所以复杂度
时,我们可以对于每一个 预处理出
表示,如果i向连边,可以建出一颗树,倍增就可以了
复杂度
​​[HAOI2018]苹果树​​ 一条边的贡献为
考虑枚举每一条边即 siz,边归到下面的点,假设点的编号为 u
首先前 u 个点有 种方案
首先它的子树有
然后还剩下 个点
第一个点有 u-1 种选法,…,第 种选法

​​[HAOI2018]奇怪的背包​​ 发现 等价,所以可以把 替换成 ,这么做的好处是 都是 的约数可以离散一下大概只有2000个
考虑怎么才能凑出 w,当且仅当
于是可以 dp, 表示到第 i 个,gcd 为 j 的方案数,复杂度要凉
考虑到 n 个数相同的值只有 2000 个,所以我们可以对这些相同的值一起转移
表示到第 i 个值,gcd = j 的方案数,如果选的话
复杂度


举报

相关推荐

0 条评论