HDU1402(fft)
A * B Problem Plus
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 22082 Accepted Submission(s): 5511
Problem Description
Input
Note: the length of each integer will not exceed 50000.
Output
Sample Input
2
1000
2
Sample Output
2000
Author
//2017-09-07
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <complex>
#include <cmath>
#define Complex complex<double> using namespace std; const double PI = acos(-1.0);
const int N = ; void fft(Complex y[], int n, int op){
for(int i = , j = n/; i < n-; i++){
if(i<j)swap(y[i], y[j]);
int k = n/;
while(j >= k){
j -= k;
k /= ;
}
if(j<k)j += k;
}
for(int h = ; h <= n; h <<= ){
Complex wn(cos(-op**PI/h), sin(-op**PI/h));
for(int j = ; j < n; j += h){
Complex w(, );
for(int k = j; k < j+h/; k++){
Complex u = y[k];
Complex t = w*y[k+h/];
y[k] = u+t;
y[k+h/] = u-t;
w = w*wn;
}
}
}
} char a[N], b[N];
Complex A[N<<], B[N<<];
int ans[N<<];
void poly_muilt(){
int n = , len1 = strlen(a), len2 = strlen(b);
while(n<len1* || n<len2*)n<<=;
for(int i = ; i < len1; i++)A[i] = a[len1-i-]-'';
for(int i = len1; i < n; i++)A[i] = ;
for(int i = ; i < len2; i++)B[i] = b[len2-i-]-'';
for(int i = len2; i < n; i++)B[i] = ;
fft(A, n, );
fft(B, n, );
for(int i = ; i < n; i++)
A[i] *= B[i];
fft(A, n, -);
for(int i = ; i < n; i++)
ans[i] = (int)(A[i].real()/n+0.5);
for(int i = ; i < n; i++){
ans[i+] += ans[i]/;
ans[i] %= ;
}
n = len1+len2-;
while(ans[n] <= && n > )n--;
for(int i = n; i >= ; i--)
printf("%c", ans[i]+'');
printf("\n");
} int main()
{
while(scanf("%s%s", a, b) != EOF){
poly_muilt();
} return ;
}
HDU1402(fft)的更多相关文章
- 快速傅里叶(FFT)的快速深度思考
关于按时间抽取快速傅里叶(FFT)的快速理论深度思考 对于FFT基本理论参考维基百科或百度百科. 首先谈谈FFT的快速何来?大家都知道FFT是对DFT的改进变换而来,那么它究竟怎样改进,它改进的思想在 ...
- 【BZOJ3527】力(FFT)
[BZOJ3527]力(FFT) 题面 Description 给出n个数qi,给出Fj的定义如下: \[Fj=\sum_{i<j}\frac{q_i q_j}{(i-j)^2 }-\sum_{ ...
- 【BZOJ4827】【HNOI2017】礼物(FFT)
[BZOJ4827][HNOI2017]礼物(FFT) 题面 Description 我的室友最近喜欢上了一个可爱的小女生.马上就要到她的生日了,他决定买一对情侣手 环,一个留给自己,一 个送给她.每 ...
- FFT/NTT总结+洛谷P3803 【模板】多项式乘法(FFT)(FFT/NTT)
前言 众所周知,这两个东西都是用来算多项式乘法的. 对于这种常人思维难以理解的东西,就少些理解,多背板子吧! 因此只总结一下思路和代码,什么概念和推式子就靠巨佬们吧 推荐自为风月马前卒巨佬的概念和定理 ...
- 【BZOJ4503】两个串(FFT)
[BZOJ4503]两个串(FFT) 题面 给定串\(S\),以及带通配符的串\(T\),询问\(T\)在\(S\)中出现了几次.并且输出对应的位置. \(|S|,|T|<=10^5\),字符集 ...
- 【BZOJ4259】残缺的字符串(FFT)
[BZOJ4259]残缺的字符串(FFT) 题面 给定两个字符串\(|S|,|T|\),两个字符串中都带有通配符. 回答\(T\)在\(S\)中出现的次数. \(|T|,|S|<=300000\ ...
- 【51Nod1258】序列求和V4(FFT)
[51Nod1258]序列求和V4(FFT) 题面 51Nod 多组数据,求: \[Ans=\sum_{i=1}^ni^k,n\le 10^{18},k\le50000\] 题解 预处理伯努利数,时间 ...
- 【CF528D】Fuzzy Search(FFT)
[CF528D]Fuzzy Search(FFT) 题面 给定两个只含有\(A,T,G,C\)的\(DNA\)序列 定义一个字符\(c\)可以被匹配为:它对齐的字符,在距离\(K\)以内,存在一个字符 ...
- 【CF954I】Yet Another String Matching Problem(FFT)
[CF954I]Yet Another String Matching Problem(FFT) 题面 给定两个字符串\(S,T\) 求\(S\)所有长度为\(|T|\)的子串与\(T\)的距离 两个 ...
随机推荐
- <meta http-equiv="X-UA-Compatible" content="ie=edge">的意思
<meta http-equiv="X-UA-Compatible" content="ie=edge">vscode创建html文件默认有这串代码 ...
- PHP 获取两个时间之间的月份
## 获取两个时间之间的间距时间 $s = '2017-02-05'; $e = '2017-07-20'; $start = new \DateTime($s); $end = new \DateT ...
- Spring Boot日志管理
SpringBoot内部使用Commons Logging来记录日志,但是默认也提供了对常用日志组件的支持,如:Log4j,Logback等.每种Logger都可以通过配置使用控制台或者文件输出日志内 ...
- 12-02 java String类
String构造方法 package cn.itcast_01; /* * 字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. * 通过查看API,我们可以知道 * A:字符串字面值&q ...
- oc中的枚举
如果一个变量只有几种可能的值,比如星期有几天,一年有几个季节等.这个时候可以用枚举变量. 先定义类型再定义变量,如:enum siji{chun,xia,qiu,dong} 也可以定义匿名:enum{ ...
- 一口一口吃掉Volley(二)
欢迎访问我的个人博客转发请注明出处:http://www.wensibo.top/2017/02/17/一口一口吃掉Volley(二)/ 相信看了第一篇教程之后,你应该会对Volley有一个初步的了解 ...
- CentOS7运行Tomcat8时启动慢,访问总是转圈,但是过一会又好了
我一开始遇到这个问题的时候也是懵逼的. 这叫什么问题... 描述一下,当输入命令启动tomcat之后,访问网站总是不能访问,但是5.6分钟之后又好了,有时候好,有时候不行. 遇到这样的问题运用以下的方 ...
- 面试:C++二叉树遍历(递归/非递归)
#include <vector> #include <stack> #include <queue> using namespace std; struct Tr ...
- 数据绑定到ADO.NET
// Define a DataSet with a single DataTable. DataSet dsInternal = new DataSet(); dsInternal.Tables.Ad ...
- new Thread与线程创建
概要:new Thread 并不意味着已经创建了一个线程,只能说明创建一个类的对象实例而已.而真正创建线程的是start()方法,此方法将调用本地方法start0()创建本地线程,而Thread的ru ...