bzoj 3622 已经没有什么好害怕的了
来源:互联网 发布:数码淘宝店铺简介 编辑:程序博客网 时间:2024/05/16 01:18
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#define md 1000000009
#define ll long long
#define inf (int) 1e9
#define eps 1e-8
#define N 2010
using namespace std;
int tang[N],yao[N],next[N];
ll f[N][N],c[N][N],jie[N];
int main()
{
int n,k;
scanf("%d%d",&n,&k);
if ((n+k)&1) { printf("0\n"); return 0; }
k=(n+k)>>1;
for (int i=1;i<=n;i++) scanf("%d",&tang[i]);
for (int i=1;i<=n;i++) scanf("%d",&yao[i]);
sort(tang+1,tang+n+1); sort(yao+1,yao+n+1);
int w=1;
for (int i=1;i<=n;i++)
{
while (tang[i]>yao[w]&&w<=n) w++;
next[i]=w-1;
}
//for (int i=1;i<=n;i++) printf("%d ",next[i]); printf("\n%d\n",k);
f[0][0]=1;
for (int i=1;i<=n;i++)
for (int j=0;j<=n;j++)
f[i][j]=(f[i-1][j]+f[i-1][j-1]*max(next[i]-j+1,0))%md;
c[0][0]=1;
for (int i=1;i<=n;i++)
for (int j=0;j<=i;j++)
c[i][j]=(c[i-1][j]+c[i-1][j-1])%md;
jie[0]=1;
for (int i=1;i<=n;i++) jie[i]=(jie[i-1]*i)%md;
for (int i=n-1;i>=k;i--)
{
f[n][i]=(f[n][i]*jie[n-i])%md;
ll sum=0;
for (int j=i+1;j<=n;j++) sum=(sum+f[n][j]*c[j][i])%md;
f[n][i]=(f[n][i]-sum+md)%md;
}
printf("%lld\n",f[n][k]);
return 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 已经没有什么好害怕的了
- bzoj 2563 阿狸和桃子的游戏
- bzoj 1042 硬币购物
- bzoj 3198 spring
- Codeforces Round #331 (Div. 2)
- 看了zzb的安排
- bzoj 3622 已经没有什么好害怕的了
- bzoj 3589 动态树
- 主席树&树状数组套主席树
- 容斥原理
- bzoj 4004 装备购买
- bzoj 4031 小z的房间
- 嵌入式Linux应用程序常用到的几个函数
- bzoj 3288 矩阵
- bzoj 1002 轮状病毒