[容斥 DP] LOJ#6077. 「2017 山东一轮集训 Day7」逆序对
来源:互联网 发布:美萍软件怎么样 编辑:程序博客网 时间:2024/06/04 17:47
考虑从小到大加入一个数,
加入
那么就相当于求
这就是个很经典的背包了——BZOJ2431
但是这题不能用背包来做
考虑容斥。
朴素的容斥要枚举哪些超过限制,这样复杂度是指数级别的,但是很多是有重复的
令
答案就是
#include <cstdio>#include <iostream>#include <algorithm>using namespace std;typedef long long ll;const int N=200010,P=1e9+7;int n,k,S;ll f[510][N],inv[N],fac[N],a[N];inline ll C(int x,int y){ return fac[x]*inv[y]%P*inv[x-y]%P;}int main(){ cin>>n>>k; S=sqrt(k<<1)+3; f[0][0]=1; for(int i=1;i<=S;i++) for(int j=i;j<=k;j++){ f[i][j]=(f[i][j-i]+f[i-1][j-i])%P; if(j>n) (f[i][j]-=f[i-1][j-n-1])%=P; } fac[0]=inv[0]=inv[1]=1; for(int i=1;i<=k+n;i++) fac[i]=fac[i-1]*i%P; for(int i=2;i<=k+n;i++) inv[i]=1LL*(P-P/i)*inv[P%i]%P; for(int i=1;i<=k+n;i++) (inv[i]*=inv[i-1])%=P; ll ans=C(n+k-1,n-1); for(int i=1;i<=S && i<=n;i++){ ll cur=0; for(int j=1;j<=k;j++) (cur+=f[i][j]*C(n+k-j-1,n-1))%=P; if(i&1) cur=-cur; (ans+=cur)%=P; } cout<<((ans+P)%P)<<endl; return 0;}
阅读全文
0 0
- [容斥 DP] LOJ#6077. 「2017 山东一轮集训 Day7」逆序对
- LOJ #6077. 「2017 山东一轮集训 Day7」逆序对
- LOJ #6077. 「2017 山东一轮集训 Day7」逆序对
- [费用流]LOJ#6079. 「2017 山东一轮集训 Day7」养猫
- [倍增NTT][DP] LOJ#6059. 「2017 山东一轮集训 Day1」Sum
- [莫队维护DP] LOJ#6074. 「2017 山东一轮集训 Day6」子序列
- [后缀自动机 DP] LOJ#6071. 「2017 山东一轮集训 Day5」字符串
- [计数][容斥] LOJ#6065 || BZOJ4927 && 2017 山东一轮集训 Day3. 第一题
- [霍尔定理]「2017 山东一轮集训 Day2」LOJ 6062——PAIR
- [动态网络 网络流] LOJ#6068.「2017 山东一轮集训 Day4」棋盘
- [最短路 杂题] LOJ#6075. 「2017 山东一轮集训 Day6」重建
- [分块 回文自动机] LOJ#6070. 「2017 山东一轮集训 Day4」基因
- loj #6062. 「2017 山东一轮集训 Day2」Pair(线段树)
- [DP][倍增NTT]LOJ#6059. 2017 山东一轮集训 Day1. Sum
- [LOJ#6060][线性基]2017 山东一轮集训 Day1. Set
- [线段树][二分图 霍尔定理]LOJ#6062 && 2017 山东一轮集训 Day2. Pair
- LOJ 6041 「雅礼集训 2017 Day7」事情的相似度
- LOJ 6043 「雅礼集训 2017 Day7」蛐蛐国的修墙方案
- linux命令:ps命令
- 一人逾期,痛苦全家人!
- Android studio中常用快捷键
- 南阳理工_65另一种阶乘问题
- Java关键字static、final使用小结
- [容斥 DP] LOJ#6077. 「2017 山东一轮集训 Day7」逆序对
- 优秀工程师-NSNotificationCenter
- Spring+SpringMVC+Hibernate框架完整版配置(基于xml)
- PHP引号区别
- HttpHandler一般处理程序的简单使用
- STL六大组件
- sql语句中count(*),count(1),count(id)区别详解
- Quicker.em 的函数内容
- 最完美ThinkPHP Nginx 配置文件