博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 4503: 两个串
阅读量:5337 次
发布时间:2019-06-15

本文共 1246 字,大约阅读时间需要 4 分钟。

和上一题一样的,这不过这个去掉一个就可以,大概是酱紫 ∑(aj-bi)*bi 就好(此处a,b可以和原题不同)

1 #include
2 #include
3 #include
4 #include
5 #define LL long long 6 #define pi acos(-1) 7 using namespace std; 8 9 const int N=100005;10 11 struct complex12 {13 double r,i;14 complex (double x=0, double y=0) {r=x; i=y;}15 complex operator + (const complex a) {
return complex(r+a.r,i+a.i);}16 complex operator - (const complex a) {
return complex(r-a.r,i-a.i);}17 complex operator * (const complex a) {
return complex(r*a.r-i*a.i,r*a.i+i*a.r);}18 }a[N<<2],b[N<<2],c1[N<<2],c2[N<<2],c3[N<<2];19 20 int n,len,lem,m,qwq;21 int ans[N],ans1[N],ans2[N],ans3[N],A[N],B[N];22 int rev[N<<2];23 char s1[N],s2[N];24 25 void FFT(complex *a, int f)26 {27 for (int i=0; i
i) swap(a[i],a[rev[i]]);28 for (int h=2; h<=n; h<<=1)29 {30 complex wn(cos(2*pi*f/h),sin(2*pi*f/h));31 for (int i=0; i
>1); j++,w=w*wn)35 {36 complex x=a[i+j],y=w*a[i+j+(h>>1)];37 a[i+j]=x+y;38 a[i+j+(h>>1)]=x-y;39 }40 }41 }42 if (f==-1) for (int i=0; i
>1]>>1)|((i&1)?n>>1:0);55 56 for (int i=0; i

 

转载于:https://www.cnblogs.com/ccd2333/p/6733792.html

你可能感兴趣的文章
数据结构-哈夫曼树
查看>>
UVA 1585 Score (c++ )(字符串处理)
查看>>
考题分享
查看>>
webpack 4 简单介绍
查看>>
《数据结构》--第6章图
查看>>
导数的四则运算
查看>>
计算两个时间戳之间相差的时间
查看>>
微服务框架SpringCloud(Dalston版)学习 (一):Eureka服务注册与发现
查看>>
mybatis 迭代map
查看>>
基于等待队列及poll机制的按键驱动代码分析和测试代码
查看>>
Win7+Ubuntu11.10(EasyBCD硬盘安装)
查看>>
Being a Servlet: request AND response(Head First Servlets and JSP)
查看>>
Archiving(Chapter 10 of Cocoa Programming for Mac OS X)
查看>>
View Controllers(Chapter 7 of iOS Programming: The Big Nerd Ranch Guide)
查看>>
管理之道:教学相长--教亦学,学亦教
查看>>
获取当前文件路径和父级路径
查看>>
ubuntu上制作应用程序的快捷图标启动
查看>>
list遍历时删除元素
查看>>
python+selenium之验证码的处理
查看>>
Foundation框架 - NSException类
查看>>