![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NTT
文章平均质量分 81
Linda_yezi_coder
这个作者很懒,什么都没留下…
展开
-
2021杭电多校第三场 1003——Forgiving Matching
题目大意 给你两个字符串,一个长度为 nnn 模式串,一个长度为 mmm 匹配串,由字符 000 到 999 和 通配符 * 组成。问你匹配串在模式串中失配长度不超过 0,1,⋯ ,m0, 1,\cdots,m0,1,⋯,m 的字符串一共有多少个。 解题思路 考虑采用 fftfftfft 来做。 预处理 对于模式串,我们开十个数组(桶),来标记 000 到 999 出现的下标,如果出现了就标为 111,否则标为 000,对于通配符 ∗*∗ ,将 000 到 999 都标为 111,因为通配符是可以和任何字符原创 2021-09-04 13:42:19 · 165 阅读 · 0 评论 -
2021牛客多校第一场 H——Hash Function
题目大意 给你 nnn 个数,找出一个数 xxx(可以不在这些数之中),让这 nnn 个数对 xxx 取模互不相等 解题思路 首先,很容易发现答案一定在 [n,max(ai)i∈[1,n]+1][n, max(a_i) i \in [1, n] + 1][n,max(ai)i∈[1,n]+1] 之中 然后我们可以得出一个结论,任意两个数之差的绝对值一定不是答案,且任意两数之差的绝对值的因子也一定不是答案 首先我们可以用FFT处理出任意两数之差的绝对值,可以参考这篇博客如何求出任意两数之和,我们给数变为一个原创 2021-08-08 21:13:40 · 144 阅读 · 0 评论 -
小圆前辈的素数——FFT
题目大意 给你两组数第一组 nnn 个, 第二组 mmm 个,在第一组数中选一个数,第二组数中选一个数,问你这两个数之和是素数有多少种选法 解题思路 暴力的方法: 遍历第一组,然后遍历第二组,进行判断,复杂度 O(n∗m)O(n * m)O(n∗m) 对于数据量大于 10510^5105 的问题显然无法解决。 FFT: 我们用两个桶来记录第一二组数,然后对两个桶进行FFT A(x)=xa1+xa2+xa3......xanB(x)=xb1+xb2+xb3......xbmA(x) = x^{a_1} +原创 2021-08-08 20:44:48 · 151 阅读 · 0 评论 -
洛谷 P3799 妖梦拼木棒 加强版
题目描述 有n根木棒,现在从中选 4 根,想要组成一个正三角形,问有几种选法? 答案对 998244353取模。 输入格式 第一行一个整数 n。 第二行 n 个整数,第iii个整数 aia_iai 代表第 i 根木棒的长度。 输出格式 一行一个整数代表答案。 输入输出样例 输入 4 1 1 2 2 输出 1 说明/提示 数据规模与约定 0≤ai≤5×1060≤a_i≤5×10^60≤ai≤5×106 解题思路 对于构建边长为xxx的正三角形,边长为xxx的木棍有kkk根,两根组合成一根长为 xxx 的木原创 2021-07-16 10:55:38 · 247 阅读 · 0 评论