随笔分类 - 数学->fft/ntt
摘要:卡常题哇。
        阅读全文
                
摘要:奇技淫巧fft。。。
        阅读全文
                
摘要:题目描述 题解: 多项式$O(nlogn)$全家桶里面比较简单比较基础的一个。 考虑到已知$F(x)$我们要求$G(x)$满足$F(x)*G(x)=1(mod x^k)$, 首先,当$k==1$时,求一下$F(0)$逆元即可。 然后看看$mod x^k$能不能从$mod x^{k/2}$搞出来。 假
        阅读全文
                
摘要:题目描述 题解: 岛屿之间的边砍/不砍情况有$2^n$种, 但是需要剪掉所有的岛上都首尾相连的情况。 $dp$一下对于完全图没有限制($f$)/有限制($g$)的情况数。 方程:$$f[i]=\sum(C(i-1,j-1)*j^{(j-2)}*f[i-j])$$ $$g[i]=\sum(C(i-2,
        阅读全文
                
摘要:题目描述 题解: 放完前$i-1$个数之后,$i$会让前面的数变成一个整体,而且与后面没有影响。 就有了$dp$方程:$$dp[i]=\sum(k^2*dp[i-k]*(k-1)!*C(i-1,k-1))$$ 拆开组合数之后有这个东西:$$\frac{dp[i]}{(i-1)!}=\sum(\fra
        阅读全文
                
摘要:题目描述 题解: 显然一个整体一定是连续的一段数。 所以我们预处理长度为$len$的一组数的组成方案数就好了。 于是$dp$。 $dp[0]=0$,$dp[i]=i!-\sum(k!*dp[i-k])$ $i!$,这$i$个数瞎放。 $k!*dp[i-k]$,第$i$个数放到倒数第$k+1$位上,此
        阅读全文
                
摘要:众所周知$FFT$是一个功能多但是不开$O2$常数吓人的算法。 这里介绍一下$FFT$如何搞字符串匹配。 其实我第一次是字符暴力匹配$52$次,结果$T$了一下午。 后来上网找发现有个更好的算法。 如果有两个数判相等,我们可以相减,判断是否为$0$; 但是字符串匹配相当于多对数判相等,相减加和肯定不
        阅读全文
                
摘要:题目描述: 给一个文本串和一个模式串,模式串中有通配符$'?'$, 问匹配多少次,哪里可以匹配。 题解: 极为暴力,$FFT$单字符匹配$26$次,总计$26*3=78$次$FFT$。 其实有更好的方法我放在下一篇博客里 代码:
        阅读全文
                
摘要:题目描述 题解: $FFT$字符串匹配。 但是容错常数怎么处理? 其实很简单,比如说我们正在匹配$'A'$,原式是$$AGCTATCGACA$$容错常数$k=1$, 在我们眼中$'A'$可以这样匹配:$$AA-AAA-AAAA$$ 因为$'A'$在这些地方都是合法的。 字符集为$4$就做$4$遍。 
        阅读全文
                
摘要:题目描述 题解: 能看出来的是,每一组数只能改最后一位,所以前$7$位动不了。 所以$KMP$跑一跑。 重点在于最后一位怎么搞。 如果$KMP$跑完了还没找到合适的位置,直接$puts("No")$就好了。 剩下个匹配问题。 (要不是数据范围拦着我我都想建图跑费用流了) 这个匹配可以用$FFT$求。
        阅读全文
                
摘要:题目描述 题解: 首先一看区间和就知道是预处理前缀和。 区间$[l,r]$求和是$s[r]-s[l-1]$。(废话) 然后感觉这道题好毒瘤啊。。。 好像是构造。 后来才知道官方题解真的给了个多项式。 具体实现就是,有两个多项式$A,B$, 第一次,对于这个前缀和$s$,我们让$A[s]+=s_{le
        阅读全文
                
摘要:题目描述 题解: 第一眼满眼骚操作,然后全部否掉。 然后屈服于题解,才发现这题这么执掌。 首先,如果这个东西是普通的车,那我们可以记录一下$x,y$的覆盖情况,然后减一下; 但是这个可以斜着走。 所以我们可以转一下$x/y$,记录哪一行哪一列没有被覆盖,然后求一下卷积。 得到的是每一条对角线上没有被
        阅读全文
                
摘要:题目描述 题解: 很吊的容斥+$FFT$,但是并不难。 首先,由于有重复,我们要容斥。 怎么办? 记录三个多项式, 只取一个:$w1$; 相同物体拿两个:$w2$; 相同物体拿三个:$w3$; 然后答案能推出来是$(w1*w1*w1-3*w1*w2+2*w3)/6$; 然后$FFT$瞎搞就行了。 注
        阅读全文
                
摘要:题目描述 题解: 裸的令人发指的$FFT$。 建立数轴,每出现一个长度就在当前长度位置上$+1$。 自乘卷积,得到的是两根长度之和为$i$的对数$*2$。 然后两边之和小于第三边,直接扫一边。 用排列数随便算一下总方案数。 代码:
        阅读全文
                
摘要:题目描述 题解: 认为大爷讲的最好。 代码:
        阅读全文
                

浙公网安备 33010602011771号