Pentium.Labs

System全家桶:https://zhuanlan.zhihu.com/c_1238468913098731520

导航

03 2015 档案

多项式乘法快速算法
摘要:多项式乘法优化算法:设有如下两个多项式:把它们的系数分别做成向量X=[x0,x1,x2,x3,......]的形式,得 F=[2,3,1] G=[5,2,0]那么根据卷积公式可以求得向量F和G的卷积S=[10,19,11,2]而由多项式乘法可算出各项系数和上面的卷积结果正好一一对应。所以说,多项... 阅读全文

posted @ 2015-03-20 21:58 Pentium.Labs 阅读(1222) 评论(0) 推荐(0)

FFT
摘要:Fast Fourier Transform首先介绍几个概念:1.卷积:设f(x)和g(x)是两个可积函数,令那么h(x)就是f(x)和g(x)的卷积 但更常用的是离散的情况: 卷积的意义:如下图 首先将两个函数都用T来表示。 对其中一个函数做水平翻转:g(T)→g(... 阅读全文

posted @ 2015-03-20 21:24 Pentium.Labs 阅读(299) 评论(0) 推荐(0)

GDUT校赛
摘要:题目链接:http://4.gdutcode.sinaapp.com/contest.php?cid=1021F题意:给出n和m,要求满足gcd(x,y)=n && lcm(x,y)=m的pair(x,y)的个数sol:先YY一下:设 gcd(x,y)=n,lcm(x,y)=m那么有x=a*n,y... 阅读全文

posted @ 2015-03-19 21:25 Pentium.Labs 阅读(340) 评论(0) 推荐(0)

light oj 1236 分解质因数
摘要:题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70017#problem/H题意:求满足1的数目一开始我是这么想的:既然lcm(i,j)=n,那么n=x*i=y*j,且x和y一定互质。若i和j固定了,那么x和y也固定了。那么问题... 阅读全文

posted @ 2015-03-16 01:38 Pentium.Labs 阅读(752) 评论(0) 推荐(0)

hdu5187 奇怪题
摘要:本来很水的,答案就是(2^n)-2,但是写坑了QAQ因为原题要求答案要mod P,一开始我是这么干的: LL ans=pow_mod(2,N,P); ans=(ans-2)%P; if (N==1) ans=1%P; printf("%I6... 阅读全文

posted @ 2015-03-15 11:56 Pentium.Labs 阅读(265) 评论(0) 推荐(0)

hdu5183 hash大法
摘要:维护前缀和sum[i]=a[0]-a[1]+a[2]-a[3]+…+(-1)^i*a[i]枚举结尾i,然后在hash表中查询是否存在sum[i]-K的值。如果当前i为奇数,则将sum[i]插入到hash表中。上面考虑的是从i为偶数为开头的情况。然后再考虑以奇数开头的情况,按照上述方法再做一次即可。不... 阅读全文

posted @ 2015-03-08 18:27 Pentium.Labs 阅读(222) 评论(0) 推荐(0)

poj3696 快速幂的优化+欧拉函数+gcd的优化+互质
摘要:这题满满的黑科技orz题意:给出L,要求求出最小的全部由8组成的数(eg: 8,88,888,8888,88888,.......),且这个数是L的倍数sol:全部由8组成的数可以这样表示:((10^x)-1)*(8/9)那么有m=((10^x)-1)*(8/9)=k*L,answer即满足条件的最... 阅读全文

posted @ 2015-03-05 19:28 Pentium.Labs 阅读(315) 评论(0) 推荐(0)

hdu5175 gcd 求约数
摘要:题意:求满足条件GCD(N,M) = N XOR M的M的个数sol:和uva那题挺像的。若gcd(a,b)=a xor b=c,则b=a-c暴力枚举N的所有约数K,令M=NxorK,再判断gcd(N,M)是不是等于K。注意枚举约数时传统方法是O(N)的,会完蛋有个O(sqrt(N))的方法:注意一... 阅读全文

posted @ 2015-03-03 21:32 Pentium.Labs 阅读(169) 评论(0) 推荐(0)

uva12716 gcd
摘要:题意:给出N,1 2 #include 3 #define LL long long 4 #define MX 30000005 5 6 int N,T; 7 LL S[MX],f[MX]; 8 9 int main()10 {11 memset(f,0,sizeof(f));12 ... 阅读全文

posted @ 2015-03-02 18:05 Pentium.Labs 阅读(230) 评论(0) 推荐(0)

uva11426 gcd、欧拉函数
摘要:题意:给出N,求所有满足i gcd(x/i,n/i)=1 -> x/i与n/i互质 -> 满足该条件的x/i有phi(n/i)个那么再用欧拉函数就可以求出每一个f(n)啦~如果找n的每一个约数i会有点慢,可以枚举i,令n=2*i,3*i,........(n是i的所有倍数且小于MAXN) for (... 阅读全文

posted @ 2015-03-02 17:27 Pentium.Labs 阅读(152) 评论(0) 推荐(0)



Pentium.Lab Since 1998