博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ4133 : Answer的排队
阅读量:6440 次
发布时间:2019-06-23

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

设$f[i][j]$表示考虑前$i$个人,第$i$个人在前$i$个人中排名为$j$的方案数。

对于大小关系相同的一段,转移可以看成求$k$次前/后缀和,任意一项对另一项的贡献仅和其下标差值有关,FFT加速即可。

时间复杂度$O(mn\log n)$。

 

#include
#include
#include
using namespace std;const int N=65555,M=32768,P=1000000007;int n,m,i,j,k,t,o,len,L,R,a[30],b[N],f[N*3],ans,g[N],v[N],fin[N],fac[N],inv[N],pos[N];inline void up(int&a,int b){(a+=b)>=P&&(a-=P);}inline int C(int n,int m){return 1LL*fac[n]*inv[m]%P*inv[n-m]%P;}namespace FFT{struct comp{ long double r,i;comp(long double _r=0,long 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);} comp conj(){return comp(r,-i);}}A[N],B[N];int a0[N],b0[N],a1[N],b1[N];const long double pi=acos(-1.0);void FFT(comp a[],int n,int t){ for(int i=1;i
>1]>>1|((i&1)<

  

转载地址:http://ptdwo.baihongyu.com/

你可能感兴趣的文章
【Git】Git-add之后-忽略部分文件的方法
查看>>
JQuery使用trigger模拟触发selete的选择change事件
查看>>
连表更新数据
查看>>
tensorflow笔记1:基础函数、embedding_lookup
查看>>
如何用phpmyadmin导入大容量.sql文件,直接使用cmd命令进行导入
查看>>
BZOJ4133 : Answer的排队
查看>>
基于Centos搭建 Mono 开发环境
查看>>
算法题:福尔摩斯的约会
查看>>
Oralce sql (+) 补充
查看>>
hdu 2665 划分树
查看>>
laravel中的plicy授权方法:
查看>>
基于R进行相关性分析--转载
查看>>
常用 cdn
查看>>
tomcat8 管理页面403 Access Denied的解决方法
查看>>
怎样避免应用冷启动
查看>>
把vux中的@font-face为base64格式的字体信息解码成可用的字体文件
查看>>
vue sync
查看>>
CentOS6下OpenLDAP+PhpLdapAdmin基本安装及主从/主主高可用模式部署记录
查看>>
Wix 安装部署教程(十一) ---QuickWix
查看>>
Spring @Value注解问题
查看>>