博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2013 Multi-University Training Contest 1 3-idiots
阅读量:5142 次
发布时间:2019-06-13

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

解题报告:

记录 A_i 为长度为 i 的树枝的数量,并让 A 对它本身做 FFT,得到任意选两个树枝能得到的各个和的数量。枚举第三边,

计算出所有两边之和大于第三条边的方案数,并把前两条边包含最长边的情况减掉就是答案。

 

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #define ll __int64 9 #define pi acos(-1.0) 10 using namespace std; 11 const int MAX = 400002; 12 //复数结构体 13 struct complex{ 14 double r,i; 15 complex(double R=0,double I=0){ 16 r=R;i=I; 17 } 18 complex operator+(const complex &a){ 19 return complex(r+a.r,i+a.i); 20 } 21 complex operator-(const complex &a){ 22 return complex(r-a.r,i-a.i); 23 } 24 complex operator*(const complex &a){ 25 return complex(r*a.r-i*a.i,r*a.i+i*a.r); 26 } 27 }; 28 /* 29 *进行FFT和IFFT前的反转变换 30 *位置i和i的二进制反转后位置互换,(如001反转后就是100) 31 *len必须去2的幂 32 */ 33 void change(complex x[],int len){ 34 int i,j,k; 35 for(i = 1, j = len>>1; i
>1; 40 while (j >= k){ 41 j -= k; 42 k >>= 1; 43 } 44 if (j < k) j += k; 45 } 46 } 47 /* 48 *做FFT O(nLogn) 49 *len必须为2^n形式,不足则补0 50 *on=1时是DFT,on=-1时是IDFT 51 */ 52 void fft (complex x[],int len,int on){ 53 change(x,len); //调用反转置换 54 for (int i=2;i<=len;i<<=1){ //控制层次 55 //初始化单位复根 56 complex wn(cos(on*2*pi/i),sin(on*2*pi/i)); 57 for (int j=0;j
>t; 81 while(t--){ 82 cin>>n; 83 memset(num,0,sizeof(num)); 84 for (i=0;i
>a[i]; 86 num[a[i]]++; 87 } 88 sort(a,a+n); 89 len1 = a[n-1]+1; 90 len = 1; 91 while (len<2*len1) len<<=1; 92 for (i=0;i
View Code

 

 

 

 

转载于:https://www.cnblogs.com/xin-hua/p/3217097.html

你可能感兴趣的文章
Sql Server 中由数字转换为指定长度的字符串
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
php match_model的简单使用
查看>>
Vue_(组件通讯)子组件向父组件传值
查看>>
移动开发平台-应用之星app制作教程
查看>>
如何在maven工程中加载oracle驱动
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
服务器解析请求的基本原理
查看>>
[HDU3683 Gomoku]
查看>>
下一代操作系统与软件
查看>>
Python IO模型
查看>>
DataGridView的行的字体颜色变化
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Android-多线程AsyncTask
查看>>
LeetCode【709. 转换成小写字母】
查看>>
如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
查看>>
【题解】青蛙的约会
查看>>
autopep8
查看>>
Android 官方新手指导教程
查看>>