Description

Input

Output

Sample Input

4 2
5 35 15 45
40 20 10 30

Sample Output

4

HINT

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

还有输入应该是第二行是糖果,第三行是药片
首先$a_i>b_i$的情况数:
$k=\frac{n+k}{2}$
如果不能整除则无解
先按a,b排序
预处理出$l[i]$,表示$a_i$大于$b_j$的最大j
这样设f[i][j]表示当前a序列第i个数,有j组$a>b$的方案
使$a_i>b$有$l[i]$种方案,但是前面已经用了j-1
所以$f[i][j]=f[i-1][j]+f[i-1][j-1]*(l[i]-j+1)$
这样求出来的是“至少”有j对的方案数,而我们需要的是“恰好”有k对的方案数。
所以容斥
$ans=\sum_{i=k}^{n}(-1)^{i-k}*f[n][i]*C_i^{k}*(n-i)!$
 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long lol;
int a[],b[],n,k,Mod=1e9+,l[];
lol f[][],C[][],fac[],ans;
int main()
{int i,j;
cin>>n>>k;
if ((n+k)&)
{
cout<<;
return ;
}
k=(n+k)/;
fac[]=;
for (i=;i<=n;i++)
fac[i]=1ll*fac[i-]*i%Mod;
for (i=;i<=n;i++)
{
C[i][]=;
for (j=;j<=i;j++)
  C[i][j]=(C[i-][j-]+C[i-][j])%Mod;
}
for (i=;i<=n;i++)
{
scanf("%d",&a[i]);
}
for (i=;i<=n;i++)
{
scanf("%d",&b[i]);
}
sort(a+,a+n+);sort(b+,b+n+);
for (i=;i<=n;i++)
{
for (j=;j<=n;j++)
  if (a[i]>b[j]) l[i]++;
  else break;
}
for (i=;i<=n;i++)
{
f[i][]=;
for (j=;j<=i;j++)
  {
  f[i][j]=(f[i][j]+1ll*(l[i]-(j-))*f[i-][j-]%Mod)%Mod;
  f[i][j]=(f[i][j]+f[i-][j])%Mod;
  }
}
for (i=k;i<=n;i++)
{
if ((i-k)%==)
  ans+=1ll*f[n][i]*C[i][k]%Mod*fac[n-i]%Mod,ans%=Mod;
else ans-=1ll*f[n][i]*C[i][k]%Mod*fac[n-i]%Mod,ans=(ans+Mod)%Mod;
}
cout<<ans;
}

最新文章

  1. python模块引用问题(比较杂乱,懒得整理)
  2. Android 手势水平监听判断
  3. RPC远程过程调用协议
  4. EF Code First DataAnnotations
  5. [js] 跨域
  6. STL 常用的一些容器总结
  7. 对PHP安全有帮助的一些函数
  8. 认识Junit
  9. 没有花括号(大括号)的for循环也能正确执行
  10. redis五种数据类型
  11. azure备份虚拟机
  12. Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例
  13. sqlite基本用法
  14. Linux编程 21 shell编程(环境变量,用户变量,命令替换)
  15. Sublime text 3支持utf-8
  16. Docker 安装 - Docker 与前端(一)
  17. 待解决:PDF header signature not found
  18. Qt信号槽的一些事
  19. logger示例
  20. 郑轻校赛 2127 tmk射气球 (数学)

热门文章

  1. JavaScript(第三十天)【XPath】
  2. LeetCode---Container With Most Water(11)
  3. 201621123031 《Java程序设计》第10周学习总结
  4. python 使用Nginx和uWSGI来运行Python应用
  5. 【iOS】OC-UTC日期字符串格式化
  6. C#网页提交html代码报错
  7. &quot;双非&quot;应届生校招如何获得大厂青睐?(内附技术岗超全求职攻略)
  8. Docker学习笔记 - Docker部署nginx网站
  9. api-gateway实践(01)服务网关 - 原型功能
  10. SOAPtest报错:error occurred during initialization of vm解决方法