bzoj 3622: 已经没有什么好害怕的了
来源:互联网 发布:亳州市视频数据平台 编辑:程序博客网 时间:2024/04/28 11:03
Description
Input
Output
Sample Input
4 2
5 35 15 45
40 20 10 30
5 35 15 45
40 20 10 30
Sample Output
4
HINT
学姐走好_(:з」∠)_
容斥+DP
f[i][j]表示前i个有j对大于药片。剩下i-j对情况随意的种数
f[i][j]=f[i-1][j]+f[i-1][j-1]*(next[i]-j+1
然后去除重复的
然后f'[n][k]就是答案了
#include<cstdio>#include<algorithm>using namespace std;long long a[2001],b[2001];long long next[2001];long long f[2001][2001];long long fx[2001][2001];long long p[2001],px[2001];long long mod=1000000009;inline long long fpow(long long x,long long y){ long long ans=1; while(y!=0) { if(y%2==1) ans=ans*x%mod; x=x*x%mod; y=y/2; } return ans;}inline void pow(long long x){ long long i; p[0]=1; for(i=1;i<=x;i++) { p[i]=p[i-1]*i%mod; px[i]=fpow(p[i],mod-2); }}int main(){ int n,k; scanf("%d%d",&n,&k); if((n-k)%2==1) { printf("0\n"); return 0; } k=(n+k)/2; long long i,j; for(i=1;i<=n;i++) scanf("%lld",&a[i]); for(i=1;i<=n;i++) scanf("%lld",&b[i]); sort(a+1,a+1+n); sort(b+1,b+1+n); for(i=1;i<=n;i++) { for(j=next[i-1];j<=n;j++) { if(b[j]>a[i]) { next[i]=j-1; break; } } if(j==n+1) next[i]=n; } f[0][0]=1; for(i=1;i<=n;i++) { for(j=0;j<=i;j++) { f[i][j]=f[i-1][j]; if(j>0&&next[i]-j+1>0) f[i][j]=(f[i][j]+f[i-1][j-1]*(next[i]-j+1)%mod)%mod; } } pow(n); for(i=n;i>=k;i--) { fx[n][i]=f[n][i]*p[n-i]%mod; for(j=i+1;j<=n;j++) { fx[n][i]=fx[n][i]-((fx[n][j]*p[j]%mod)*px[j-i]%mod)*px[i]%mod; while(fx[n][i]<0) fx[n][i]+=mod; } } printf("%lld\n",fx[n][k]); return 0;}
0 0
- bzoj 3622: 已经没有什么好害怕的了
- bzoj 3622 已经没有什么好害怕的了
- [BZOJ 3622]已经没有什么好害怕的了
- BZOJ 3622 已经没有什么好害怕的了
- bzoj 3622 已经没有什么好害怕的了
- BZOJ 3622 已经没有什么好害怕的了
- bzoj 3622: 已经没有什么好害怕的了
- 已经没有什么好害怕的了
- BZOJ 3622(已经没有什么好害怕的了-Dp+容斥原理)
- BZOJ 3622 已经没有什么好害怕的了 动态规划+容斥原理
- bzoj 3622: 已经没有什么好害怕的了 (容斥原理+DP)
- BZOJ 3622 已经没有什么好害怕的了 DP 容斥原理
- bzoj 3622: 已经没有什么好害怕的了 dp+容斥原理
- [DP 容斥原理] BZOJ3622 已经没有什么好害怕的了 && BZOJ 2024 [SHOI2009] 舞会
- 【BZOJ3622】已经没有什么好害怕的了
- [bzoj3622]已经没有什么好害怕的了
- 【BZOJ3622】已经没有什么好害怕的了,两次DP
- BZOJ3622 已经没有什么好害怕的了
- ORALCE EBS ALERT 初体验
- 【Object-C】多态
- [cpp,algorithm] FpTree_2_首次扫描数据库抽取项集_并根据支持度剪枝
- Android Material Design之Toolbar与Palette实践
- 整个 HTML 页面将被覆盖
- bzoj 3622: 已经没有什么好害怕的了
- 中小型软件产品解决方案模板
- Python GUI编程各种实现的对比
- 基于物品的协同过滤ItemCF的mapreduce实现
- 第14周项目6.1
- 第十四周项目三——多科成绩单(1&2)
- 【Object-C】单例模式Singleton
- android WebService工具类,已做数据缓存加密处理
- Box of Bricks 2088