BZOJ3622 已经没有什么好害怕的了
Description
.jpg)
Input
.jpg)
Output
.jpg)
Sample Input
5 35 15 45
40 20 10 30
Sample Output
HINT
.jpg)
输入的2*n个数字保证全不相同。
#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;
}
BZOJ3622 已经没有什么好害怕的了的更多相关文章
- [bzoj3622]已经没有什么好害怕的了_动态规划_容斥原理
bzoj-3622 已经没有什么好害怕的了 题目大意: 数据范围:$1\le n \le 2000$ , $0\le k\le n$. 想法: 首先,不难求出药片比糖果小的组数. 紧接着,我开始的想法 ...
- bzoj3622已经没有什么好害怕的了
bzoj3622已经没有什么好害怕的了 题意: 给n个数Ai,n个数Bi,将Ai中的数与Bi中的数配对,求配对Ai比Bi大的比Bi比Ai大的恰好有k组的方案数.n,k≤2000 题解: 蒟蒻太弱了只能 ...
- [BZOJ3622]已经没有什么好害怕的了(容斥DP)
给定两个数组a[n]与b[n](数全不相等),两两配对,求“a比b大”的数对比“b比a大”的数对个数多k的配对方案数. 据说做了这题就没什么题好害怕的了,但感觉实际上这是一个套路题,只是很难想到. 首 ...
- BZOJ3622 已经没有什么好害怕的了 【dp + 二项式反演】
题目链接 BZOJ3622 题解 既已开题 那就已经没有什么好害怕的了 由题目中奇怪的条件我们可以特判掉\(n - k\)为奇数时答案为\(0\) 否则我们要求的就是糖果大于药片恰好有\(\frac{ ...
- bzoj3622已经没有什么好害怕的了 dp+组合+容斥(?)
3622: 已经没有什么好害怕的了 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1033 Solved: 480[Submit][Status][ ...
- BZOJ3622 已经没有什么好害怕的了 动态规划 容斥原理 组合数学
原文链接https://www.cnblogs.com/zhouzhendong/p/9276479.html 题目传送门 - BZOJ3622 题意 给定两个序列 $a,b$ ,各包含 $n$ 个数 ...
- BZOJ3622 已经没有什么好害怕的了(动态规划+容斥原理)
显然可以转化为一个阶梯状01矩阵每行每列取一个使权值和为k的方案数.直接做不可做,考虑设f[i][j]为前i行权值和至少为j,即在其中固定了j行选1的方案数.设第i行从1~a[i]列都是1且a[i]+ ...
- 【BZOJ3622】已经没什么好害怕的了 容斥原理+dp
Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output 4 HINT 输入的2*n个数字保证全不相 ...
- 洛谷 P4859 && BZOJ3622: 已经没有什么好害怕的了
题目描述 给出 \(n\) 个数 \(a_i\) ,以及 \(n\) 个数 \(b_i\) ,要求两两配对使得 \(a>b\) 的对数减去 \(a<b\) 的对数等于 \(k\) . ...
随机推荐
- RPC原理解析
1.RPC原理解析 1.1 什么是RPC RPC(Remote Procedure Call Protocol) --远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络 ...
- nginx session 配置失效解决
nginx 反向代理后台web服务器session path导致的session 失效,特此总结下配置方法: 配置如下: location ^~ /2016tyjf_dev/djwechat { pr ...
- oracle导出dmp文件的2种方法
使用exp和expdp导出数据 1.exp导出数据命令 exp gd_base/@192.168.13.211/oanet file=D:\export\gd_base.dmp log=D:\expo ...
- Java作业-集合
1. 本周学习总结 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的contains源代码 public boolean contains(Object o) { r ...
- 20162330 实验二 《Java面向对象程序设计》 实验报告
2016-2017-2 实验报告目录: 1 2 3 4 5 20162330 实验二 <Java面向对象程序设计> 实验报告 课程名称:<程序设计与数据结构> 学生班级:162 ...
- 修改MYSQL的默认连接时长
show global variables like 'wait_timeout'; 设置成10小时; set global wait_timeout=36000;
- bzoj千题计划252:bzoj1095: [ZJOI2007]Hide 捉迷藏
http://www.lydsy.com/JudgeOnline/problem.php?id=1095 点分树+堆 请去看 http://www.cnblogs.com/TheRoadToTheGo ...
- 14-TypeScript简单工厂模式
在TypeScript中,要调用功能,通常在调用方通过实例化被调用方对象来调用相关方法,但这种实现在调用方和被调用方形成了强耦合的关系. 另外如果被调用方有种实现,在调用方需要根据场景去实例化不同的类 ...
- JAVA_SE基础——6.标识符&关键字
学会写helloworld之后, 我们就开始来认识标识符&关键字 一.标识符 标识符是指可被用来为类.变量或方法等命名的字符序列,换言之,标识符就是用户自定义的名称来标识类.变量或方法等.更 ...
- php代码开启缓冲的使用方法
php可以开启缓冲区,就是将内容放到缓冲区,再决定什么时候发送给浏览器. 感谢:http://www.jb51.net/article/38964.htm 解析PHP中ob_start()函数的用法 ...