2.CF493E Rusty String

总结:

  1. fft优化字符串匹配:把字符串看作多项式 \(f(x) = \sum_{i=1}^{n}s_ix^i\) , \(s_i\) 表示字符串的第 \(i\) 位,特别的如果第 \(i\) 位是通配符那么 \(s_i = 0\). 如果第 \(i\) 位和第 \(j\) 为匹配那么 \((s_i – s_j)^2 \times s_i \times s_j\)。注意这里必须是 \((s_i – s_j)^2\) 为了保证值非负,避免抵消。那么 \(k\)\(s_i\) 的周期,当且仅当 \(\forall i\leq k, (s_i – s_{n-i+1})^2 \times s_i \times s_{n-i+1}\) ,即 \(\sum_{i=1}^{k} (s_i – s_{n-i+1})^2 \times s_i \times s_{n-i+1}\) , 展开后跑多项式乘法即可。
  2. 如果 \(k\)\(s\) 的周期,那么 \(k\) 的倍数就都是 \(s\) 的周期,如果 \(k\) 不是 \(s\) 的周期,那么一定有一个 \(k\) 的倍数不是 \(s\) 的周期。

:

  1. 认真读题,避免思维定式,这道题中的 \(?\) 不是通配符,而是任意一个字符。所以最后要根据 “总结2“,枚举 \(k\) 的所有倍数来判断 \(k\) 是不是合法周期。

CF482C Game with Strings

高维前缀和什么时候成多项式知识了?

:

  1. 如果要用 long long 类型来存一个大小大于 \(32\) 的集合,记得用 __builtin_popcountll() .

CF961G Partitions

总结:

  1. \[ \begin{aligned} &i\binom{n – 1}{i – 1}\\ =&(i-1+1)\binom{n – 1}{i – 1}\\ =&(i-1)\binom{n – 1}{i – 1}+\binom{n – 1}{i – 1}\\ =&(n-1)\binom{n – 2}{i – 2}+\binom{n – 1}{i – 1}\\ \end{aligned} \]

  2. 不仅可以考虑每个数对答案的贡献,并且可以考虑每对数对答案的贡献,甚至某个数对另一个数的贡献对答案的贡献。

原文地址:http://www.cnblogs.com/i209M/p/16930598.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性