【BZOJ3622】已经没有什么好害怕的了

Description

Input

Output

Sample Input

4 2
5 35 15 45
40 20 10 30

Sample Output

4

HINT

输入的2*n个数字保证全不相同。

题意:给定a数组和b数组,大小都为N,现在让你两两配对,使得a>b个个数=(N+K)/2; a<b的个数=(N-K)/2;

思路:用容斥来求。  我们假设a>b为A情况,a<b为B情况。先让ab数组分别排序; f[i][j]表示前i个a数组至少存在j个A情况的方案数,那么可以得到f的递推式。 最后用容斥来累加答案。

推荐CQZhangYU的博客。

#include<bits/stdc++.h>
#define ll long long
#define rep(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
const int maxn=;
const int Mod=1e9+;
int C[maxn][maxn],f[maxn][maxn],a[maxn],b[maxn],jc[maxn],ans;
int main()
{
int N,K; scanf("%d%d",&N,&K);
jc[]=; rep(i,,N) jc[i]=(ll)jc[i-]*i%Mod;
rep(i,,N){
C[i][]=;
rep(j,,i) C[i][j]=(C[i-][j]+C[i-][j-])%Mod;
}
rep(i,,N) scanf("%d",&a[i]);
rep(i,,N) scanf("%d",&b[i]);
sort(a+,a+N+) ;sort(b+,b+N+);
f[][]=;
rep(i,,N){
int pos=upper_bound(b+,b+N+,a[i])-b; pos--;
rep(j,,i){
f[i][j]=(f[i-][j]+(ll)f[i-][j-]*max(pos-j+,)%Mod)%Mod;
}
f[i][]=f[i-][];
}
if((N+K)%==) return puts(""),;
K=(N+K)/;
rep(i,K,N){
f[N][i]=(ll)f[N][i]*jc[N-i]%Mod;
if((i-K)&) ans=((ans-(ll)f[N][i]*C[i][K]%Mod)%Mod+Mod)%Mod;
else ans=(ans+(ll)f[N][i]*C[i][K]%Mod)%Mod;
}
printf("%lld\n",(ans%Mod+Mod)%Mod);
return ;
}

最新文章

  1. 如何快速开发SPA应用
  2. #研发解决方案#discache-分布式缓存查询与管理系统
  3. 巧用freemarker
  4. php获取真实IP地址
  5. Spring day01笔记
  6. Find Minimum in Rotated Sorted Array leetcode
  7. js中document.all 的用法
  8. winform程序开机自动启动代码
  9. SQL Server 各任务所维护
  10. Python新手学习基础之函数-全局变量和局部变量
  11. Esper学习之六:EPL语法(二)
  12. vim vimrc
  13. Windows Azure Platform Introduction (14) 申请海外的Windows Azure账户
  14. 福州大学W班-助教总结
  15. SpringMVC+Apache Shiro+JPA(hibernate)案例教学(三)给Shiro登录验证加上验证码
  16. CentOS7 vi编辑命令【转】
  17. CSS :invalid 选择器
  18. tp框架中的一些疑点知识-4
  19. 【BZOJ1082】【SCOI2005】栅栏
  20. STL进阶--vector vs deque

热门文章

  1. 【Head First Servlets and JSP】笔记2:MVC迷你教程
  2. EasyUI中datagrid双击事件
  3. Apache 日志管理
  4. React Native常用组件之TabBarIOS、TabBarIOS.Item组件、Navigator组件、NavigatorIOS组件、React Navigation第三方
  5. java判断集合list是为空
  6. vim终端复制_不开启xterm_clipboard的解决方式
  7. 【bzoj5427】最长上升子序列(贪心+LIS)
  8. LeetCode第[62]题(Java):Unique Paths 及扩展
  9. d2.js学习笔记(七)——动态SVG坐标空间
  10. yii2:如果获取config/web.php配置的值?