博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ4115 : [Wf2015]Tile Cutting
阅读量:5339 次
发布时间:2019-06-15

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

设一种方案里三角形上三个点的坐标分别为$(0,0),(-a,b),(c,d)$,则得到的平行四边形的面积为$ac+bd$。

设$d(n)$为$n$的约数个数,$D$为$d$的生成函数,则答案的生成函数$=D^2$。

先用线性筛$O(n)$求出$d$,再用FFT在$O(n\log n)$的时间内预处理出所有答案即可。

 

#include
#include
#include
#define N 1048576using namespace std;typedef long long ll;int n=500000,d[N],g[N],i,j,p[N],tot,T,l,r,ans;bool v[N>>1];ll f[N];struct comp{ double r,i;comp(double _r=0,double _i=0){r=_r;i=_i;} comp operator+(const comp x){return comp(r+x.r,i+x.i);} comp operator-(const comp x){return comp(r-x.r,i-x.i);} comp operator*(const comp x){return comp(r*x.r-i*x.i,r*x.i+i*x.r);}}a[N];const double pi=acos(-1.0);void FFT(comp a[],int n,int t){ for(int i=1,j=0;i
>=1,~j&s;); if(i
f[ans])ans=l; } return 0;}

  

转载于:https://www.cnblogs.com/clrs97/p/4779789.html

你可能感兴趣的文章
C8051开发环境
查看>>
VTKMY 3.3 VS 2010 Configuration 配置
查看>>
01_1_准备ibatis环境
查看>>
windows中修改catalina.sh上传到linux执行报错This file is needed to run this program解决
查看>>
JavaScript中的BOM和DOM
查看>>
360浏览器兼容模式 不能$.post (不是a 连接 onclick的问题!!)
查看>>
spring注入Properties
查看>>
【BZOJ-2295】我爱你啊 暴力
查看>>
【BZOJ-1055】玩具取名 区间DP
查看>>
Bit Twiddling Hacks
查看>>
Windwos中的线程同步
查看>>
LeetCode : Reverse Vowels of a String
查看>>
时间戳与日期的相互转换
查看>>
jmeter(五)创建web测试计划
查看>>
python基本数据类型
查看>>
1305: [CQOI2009]dance跳舞 - BZOJ
查看>>
关于TDD的思考
查看>>
Cocos2d-x学习之windows 7 android环境搭建
查看>>
将html代码中的大写标签转换成小写标签
查看>>
jmeter多线程组间的参数传递
查看>>