[DP 容斥原理] HDU 5519 Kykneion asma
来源:互联网 发布:上海中科软件 编辑:程序博客网 时间:2024/06/08 03:03
扔下题解就跑 其实我也没全搞懂 先挖个坑
#include<cstdio>#include<cstdlib>#include<algorithm>#include<cstring>using namespace std;typedef long long ll;const int P=1e9+7;const int N=20005;ll fac[N],inv[N];int cnt[1<<5];inline void Pre(int n){ fac[0]=1; for (int i=1;i<=n;i++) fac[i]=fac[i-1]*i%P; inv[1]=1; for (int i=2;i<=n;i++) inv[i]=(ll)(P-P/i)*inv[P%i]%P; inv[0]=1; for (int i=1;i<=n;i++) inv[i]=inv[i-1]*inv[i]%P; for (int i=1;i<(1<<5);i++) cnt[i]=cnt[i>>1]+(i&1);}inline ll C(int n,int m){ return fac[n]*inv[m]%P*inv[n-m]%P;}int n,a[6];int f[N][1<<5];inline void add(int &x,int y){ x+=y; if (x>=P) x-=P;}inline int Solve(){ memset(f,0,sizeof(f)); for (int s=0;s<(1<<5);s++) f[0][s]=(cnt[s^((1<<5)-1)]&1)?P-1:1; for (int i=1;i<=n;i++) for (int s=0;s<(1<<5);s++){ add(f[i][s],(ll)f[i-1][s]*cnt[s]%P); for (int k=0;k<5;k++) if ((s>>k&1) && a[k]<i) add(f[i][s],(ll)f[i-a[k]-1][s^(1<<k)]*C(i-1,a[k])%P); } return f[n][(1<<5)-1];}#define read(x) scanf("%d",&(x))int main(){ int T,Case=0; freopen("t.in","r",stdin); freopen("t.out","w",stdout); Pre(20000); read(T); while (T--){ read(n); for (int i=0;i<5;i++) read(a[i]); int ans=Solve(); if (a[0]){ n--; a[0]--; add(ans,P-Solve()); } printf("Case #%d: %d\n",++Case,ans); } return 0;}
0 0
- [DP 容斥原理] HDU 5519 Kykneion asma
- Hdu-5519 Kykneion asma(状压DP+容斥)
- HDU 5519 Kykneion asma(沈阳站K题&&DP+容斥)
- HDU 5519(Kykneion asma-NNT+CRT)
- HDU 4336 概率DP求期望(or容斥原理)
- hdu 4336 Card Collector (期望dp|容斥原理)
- HDU 4336 概率dp或者容斥原理
- hdu 4336 Card Collector(概率dp, 容斥原理)
- hdu 5731 Solid Dominoes Tilings 插头dp+容斥原理
- HDU 4336 Card Collector (容斥原理||概率DP)
- [HDU 5731]Solid Dominoes Tilings:状压DP+容斥原理
- [HDU 4336]Card Collection[状态压缩DP][概率DP][容斥原理]
- 【容斥原理】HDU 4135
- hdu 4135 容斥原理
- hdu 4336 容斥原理
- hdu 1695 容斥原理
- hdu 4407 容斥原理
- HDU 1796 容斥原理
- Java与JavaScript的区别你明白吗?
- 高薪面试题二
- Redis常用命令
- SSIS SSAS 的优化手段总结
- 循序渐进学 LoadingDrawable
- [DP 容斥原理] HDU 5519 Kykneion asma
- 范式
- ubuntu16.0.4 设置固定ip地址
- fiddler界面介绍及使用
- Ubuntu挂载远程共享目录到本地
- 实现微信内置浏览器全屏播放模式下html元素漂浮
- 四大图片加载框架之最 old ImageLoader , 但是有些老项目还在用的!加载 https
- 连接查询
- php浏览器访问创建目录失败