- 博客(6)
- 收藏
- 关注
原创 zoj 3874 Permutation Graph (cdq分治+NTT)
因为做做题学会了NTT ,比FFT的精度高了很多,收货很大。/*code by islandsy1=a[0]+a[1]x^1+a[2]x^2.....a[n]x^ny2=b[0]+b[1]x^1+b[2]x^2.....b[m]x^my=y1*y2; 在O(nlgn)的复杂度求出y的系数*/#include#include#include#include#include
2015-07-31 20:58:03 972
原创 快速数论变换模板(NTT)
快速数论变化(NTT)是的原理其实和快速傅里叶变换是一样的原理。 对于形如m= c*2^n+1的费马素数,假设其原根为g。那么瞒住g^(m-1)==1 而且正好(m-1)能整除2^n的。所所以可以在模p域进行NTT变换。旋转因子为 g^((m-1)/n)。其他的原理都和FFT的原理相同。这样可以解决特殊情况下FFT的浮点误差。/* * Author: islands * Create
2015-07-31 20:32:47 4452 1
原创 POJ 1486 (2分匹配 必须变判断)
建图很好想到,主要是后面判断这条匹配边是不是必须变。 只需要吧当前这个匹配拆开,并且在图中吧这条边去掉。对对于左边的点去找增光路,如果不能找到,说明就是匹配必须边。#include#include#include#include#include#include#include#include#include#include#include#include#include
2015-07-20 10:06:06 633
原创 hdu 3746 (kmp)
主要是理解好kmp的next数组。如果 i%(next[i]-i)==0,就会出现循环串。主要思想是枚举长度I.n/i*i-next[n/i*i]=i必须成立。然后根据next数组判断多出来的那一段是不是属于循环串里面 。#include#include#include#include#include#include#include#include#include#inclu
2015-07-19 21:23:33 530
原创 hdu 2191 (多重背包的单调队列优化)
多重背包单调队列优化是思想是。普通的dp为dp[i][j]=max{dp[i-1][j-k*v[i]]+k*w[i]};其实你可以发现对能更新j是j和一个剩余类。也就是 0, v[i],2v[i],3v[i] ,4v[i]...1 ,1+v[i],1+2v[i],1+3v[i]...........v[i]-1,2*v[i]-1......更新值存在一个剩余类中,组与组
2015-07-17 13:12:53 1254
原创 POJ 2486 Apple Tree (树形dp)
这是一个树上的背包转移。注意要用dp[i][j][k]表示第i个节点用了j的路程是否回到i节点,k=0表示回到i点,k=1表示不回到i点。那么实际上就是树上的一个背包转移。#include #include #include #include #include #include #include #include #include #include #include #i
2015-07-16 15:05:55 587
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人