分析

说白了就是一道先DP再二项式反演的水题,然后被脑残博主把“多\(k\)组”看成了“糖果比药片能量大的组数恰好为\(k\)组”,还改了各种奇怪的地方,最后看了别人的题解才突然意识到这一点。

看来博主离退役不远了,快把我拖走吧没救了没救了。

代码

#include <bits/stdc++.h>
#define rin(i,a,b) for(register int i=(a);i<=(b);++i)
#define irin(i,a,b) for(register int i=(a);i>=(b);--i)
#define trav(i,a) for(register int i=head[a];i;i=e[i].nxt)
typedef long long LL;
using std::cin;
using std::cout;
using std::endl; inline int read(){
int x=0,f=1;char ch=getchar();
while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}
while(isdigit(ch)){x=x*10+ch-'0';ch=getchar();}
return x*f;
} const int MAXN=2005;
const LL MOD=1e9+9; int n,k,a[MAXN],b[MAXN];
LL c[MAXN][MAXN],f[MAXN][MAXN],fac[MAXN]; void init(){
c[0][0]=1;
rin(i,1,n){
rin(j,0,i){
c[i][j]=c[i-1][j];
if(j) c[i][j]=(c[i][j]+c[i-1][j-1])%MOD;
}
}
fac[0]=1;
rin(i,1,n) fac[i]=fac[i-1]*i%MOD;
} int main(){
n=read(),k=read();
if((n+k)%2){
printf("0\n");
return 0;
}
k=(n+k)/2;
init();
rin(i,1,n) a[i]=read();
rin(i,1,n) b[i]=read();
std::sort(a+1,a+n+1);
std::sort(b+1,b+n+1);
f[0][0]=1;int cnt=0;
rin(i,1,n){
while(cnt<n&&b[cnt+1]<a[i]) ++cnt;
rin(j,0,std::min(i,cnt)){
f[i][j]=f[i-1][j];
if(j) f[i][j]=(f[i][j]+f[i-1][j-1]*(cnt-(j-1)))%MOD;
}
}
int sgn=-1;LL ans=0;
rin(i,k,n){
sgn=-sgn;
ans=(ans+sgn*c[i][k]*f[n][i]%MOD*fac[n-i]%MOD+MOD)%MOD;
}
printf("%lld\n",ans);
return 0;
}

[BZOJ3622]已经没有什么好害怕的了:DP+容斥原理的更多相关文章

  1. bzoj3622已经没有什么好害怕的了 dp+组合+容斥(?)

    3622: 已经没有什么好害怕的了 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1033  Solved: 480[Submit][Status][ ...

  2. BZOJ3622 已经没有什么好害怕的了 动态规划 容斥原理 组合数学

    原文链接https://www.cnblogs.com/zhouzhendong/p/9276479.html 题目传送门 - BZOJ3622 题意 给定两个序列 $a,b$ ,各包含 $n$ 个数 ...

  3. [BZOJ3622] 已经没有什么好害怕的了(dp+容斥)

    Description: ​ 有两个数组a和b,两两配对,求 \(a_i>b_i\) 的配对比 \(b_i>a_i\) 的配对多 \(k\) 个的方案数 \(k\le n\le 2000\ ...

  4. 【BZOJ 3622】3622: 已经没有什么好害怕的了(DP+容斥原理)

    3622: 已经没有什么好害怕的了 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 683  Solved: 328 Description Input ...

  5. [bzoj3622]已经没有什么好害怕的了_动态规划_容斥原理

    bzoj-3622 已经没有什么好害怕的了 题目大意: 数据范围:$1\le n \le 2000$ , $0\le k\le n$. 想法: 首先,不难求出药片比糖果小的组数. 紧接着,我开始的想法 ...

  6. bzoj3622已经没有什么好害怕的了

    bzoj3622已经没有什么好害怕的了 题意: 给n个数Ai,n个数Bi,将Ai中的数与Bi中的数配对,求配对Ai比Bi大的比Bi比Ai大的恰好有k组的方案数.n,k≤2000 题解: 蒟蒻太弱了只能 ...

  7. [BZOJ3622]已经没有什么好害怕的了(容斥DP)

    给定两个数组a[n]与b[n](数全不相等),两两配对,求“a比b大”的数对比“b比a大”的数对个数多k的配对方案数. 据说做了这题就没什么题好害怕的了,但感觉实际上这是一个套路题,只是很难想到. 首 ...

  8. BZOJ3622 已经没有什么好害怕的了 【dp + 二项式反演】

    题目链接 BZOJ3622 题解 既已开题 那就已经没有什么好害怕的了 由题目中奇怪的条件我们可以特判掉\(n - k\)为奇数时答案为\(0\) 否则我们要求的就是糖果大于药片恰好有\(\frac{ ...

  9. BZOJ3622 已经没有什么好害怕的了(动态规划+容斥原理)

    显然可以转化为一个阶梯状01矩阵每行每列取一个使权值和为k的方案数.直接做不可做,考虑设f[i][j]为前i行权值和至少为j,即在其中固定了j行选1的方案数.设第i行从1~a[i]列都是1且a[i]+ ...

  10. BZOJ3622 已经没有什么好害怕的了

    Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output 4 HINT 输入的2*n个数字保证全不相 ...

随机推荐

  1. MySQL_基础

    ## 数据库的基本概念 1. 数据库的英文单词: DataBase 简称 : DB 2. 什么数据库? * 用于存储和管理数据的仓库. 3. 数据库的特点: 1. 持久化存储数据的.其实数据库就是一个 ...

  2. you_are_the_one(区间dp)

    You Are the One Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  3. Head First PHP&MySQl第二章代码

    PHP: <html> <head> <title>外星人绑架了我--报道一起绑架</title> </head> <body> ...

  4. form表单添加富文本编辑器

    <div class="control-group"> <label class="control-label">内容:</lab ...

  5. 10.AutoMapper 之自定义值解析器(Custom Value Resolvers)

    https://www.jianshu.com/p/3e7cf1d1f17d 自定义值解析器(Custom Value Resolvers) 虽然AutoMapper涵盖了相当多的目标成员映射方案,但 ...

  6. npm学习(四)之如何安装全局包、更新全局安装的包、卸载全局安装的包

    如何安装全局包 有两种方式用来安装 npm 包:本地安装和全局安装.选用哪种方式来安装,取决于你如何使用这个包. 如果你想将其作为一个命令行工具,那么你应该将其安装到全局.这种安装方式后可以让你在任何 ...

  7. qt tableview里面添加控件

    在QStyledItemDelegate的paint方法里面 void MyItemModelDeletage::paint(QPainter *painter, const QStyleOption ...

  8. vue的v-model指令原理分析

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. vue学习【四】vuex快速入门

    大家好,我是一叶,今天我们继续踩坑.今天的内容是vuex快速入门,页面传值不多的话,不建议vuex,直接props进行父子间传值就行,使用vuex就显得比较臃肿. 我们先预览一下效果,如图1所示. 图 ...

  10. CSS3之box-shadow--阴影外阴影与外发光

    基础语法 外阴影:box-shadow:X Y Npx #color; 内阴影:box-shadow:inset X Y Npx #color; 第一个属性:阴影的X轴(可以使用负值) 第二个属性:阴 ...