Description

图片略

Solution

对啊,已经没有什么好害怕的了

没有头的麻美学姐还是很萌的(雾

排序预处理p[i]为b中小于a[i]的最大的数的标号

f[i][j]表示前i个糖果使得糖果大于药片的至少有j组

则f[i][j]=f[i-1][j]+f[i-1][j-1]*(p[i]-j+1)

容斥得g[j]=f[n][j]*(n-j)!-∑g[k]*C(j,k) (j+1<=k<=n)

(Update:今天发现这个好像是广义容斥原理?)

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#define MAXN 2002
#define Mod 1000000009
typedef long long LL;
using namespace std;
int n,k,a[MAXN],b[MAXN],p[MAXN];
LL f[MAXN][MAXN],c[MAXN][MAXN],g[MAXN];
int read()
{int x=0,f=1;char c=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}return x*f;
}
int main()
{n=read(),k=read();if((n+k)%2){printf("0");return 0;}k=(n+k)/2;for(int i=1;i<=n;i++)a[i]=read();for(int i=1;i<=n;i++)b[i]=read();sort(a+1,a+1+n);sort(b+1,b+1+n);int t=1;for(int i=1;i<=n;i++){while(a[i]>b[t]&&t<=n)t++;p[i]=t-1;}f[0][0]=1;for(int i=1;i<=n;i++)for(int j=0;j<=i;j++){if(j)f[i][j]=(f[i-1][j-1]*max(0,p[i]-j+1))%Mod;f[i][j]=(f[i][j]+f[i-1][j])%Mod;}c[1][0]=1;c[1][1]=1;for(int i=2;i<=n;i++)for(int j=0;j<=i;j++){if(!j)c[i][j]=1;c[i][j]=(c[i-1][j-1]+c[i-1][j])%Mod;}for(int i=n;i>=k;i--){g[i]=f[n][i];for(int j=1;j<=n-i;j++)g[i]=(g[i]*j)%Mod;for(int j=i+1;j<=n;j++){g[i]=(g[i]-(g[j]*c[j][i])%Mod+Mod)%Mod;}}printf("%d",g[k]);return 0;
} 

转载于:https://www.cnblogs.com/Zars19/p/6706723.html

[BZOJ 3622]已经没有什么好害怕的了(Dp+容斥原理)相关推荐

  1. BZOJ 3622 Luogu P4859 已经没有什么好害怕的了 (容斥原理、DP)

    题目链接 (Luogu) https://www.luogu.org/problem/P4859 (bzoj) https://www.lydsy.com/JudgeOnline/problem.ph ...

  2. BZOJ 2281 Luogu P2490 [SDOI2011]黑白棋 (博弈论、DP计数)

    怎么SDOI2011和SDOI2019的两道题这么像啊..(虽然并不完全一样) 题目链接: (bzoj) https://www.lydsy.com/JudgeOnline/problem.php?i ...

  3. BZOJ 4032 luogu P4112 [HEOI2015]最短不公共子串 (DP、后缀自动机)

    这其实是道水题... 题目链接: (bzoj)https://www.lydsy.com/JudgeOnline/problem.php?id=4032 (luogu)https://www.luog ...

  4. bzoj 4455: [Zjoi2016]小星星 树形dp+容斥原理

    题意 给出一棵树和一个图,问有多少种方法把树的节点标号使得其在改图中至少有一棵生成树与原来的树是重构的. n<=17 分析 想到了容斥,但是没想到从哪里容斥... 显然题目给了两个限制,一个是原 ...

  5. bzoj 4813: [Cqoi2017]小Q的棋盘【树形dp】

    这么简单的dp我怎么没想到x2 f为从这个点出发后回到这个点最多能走过的点,g为从这个点出发后不回到这个点最多能走过的点,注意g有两种转移:g[u][k]=max(g[u][k],f[u][k-j-1 ...

  6. 【BZOJ】1003: [ZJOI2006]物流运输trans(SPFA+DP)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1003 这题一开始看是不会的额,,,还是看题解了..一开始我觉得不能用最短路啥的,,看了题解发现这是d ...

  7. BZOJ 1492: [NOI2007]货币兑换Cash [CDQ分治 斜率优化DP]

    传送门 题意:不想写... 扔链接就跑 好吧我回来了 首先发现每次兑换一定是全部兑换,因为你兑换说明有利可图,是为了后面的某一天两种卷的汇率差别明显而兑换 那么一定拿全利啊,一定比多天的组合好 $f[ ...

  8. 【BZOJ】1630: [Usaco2007 Demo]Ant Counting(裸dp/dp/生成函数)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1630 题意,给你n种数,数量为m个,求所有的数组成的集合选长度l-r的个数 后两者待会写.. 裸dp ...

  9. bzoj 1705: [Usaco2007 Nov]Telephone Wire 架设电话线【dp】

    i的初始化写成2了于是成功查错2h--怕不是个傻子 设f[i][j]为第i根高为j,转移是 \[ f[i][j]=min(f[i-1][k]+abs(k-j)*c+(j-h[i])^2)(j>= ...

  10. BZOJ 3925 [Zjoi2015]地震后的幻想乡 ——期望DP

    我们只需要考虑$\sum F(x)P(x)$的和, $F(x)$表示第x大边的期望,$P(x)$表示最大为x的概率. 经过一番化简得到$ans=\frac{\sum T(x-1)}{m+1}$ 所以就 ...

最新文章

  1. 热门的模型跨界,Transformer、GPT做CV任务一文大盘点
  2. android one x3怎么样,618旗舰手机怎么选,看完这篇文章,你就会知道
  3. 用python编写表达式求值_用Python3实现表达式求值
  4. java数据库配置_java--数据库(文件配置连接,自定义连接池)
  5. 高效能人士的七个习惯_有史以来最具影响力管理类书籍 高效能人士的七个习惯 让你成为一名成功高效的人士...
  6. 利用HBuilderX制作手机APP应用程序之知识问答
  7. mysql 事件的作用_MySQL 事件
  8. CCF201809-3 元素选择器(100分)【文本处理】
  9. 获取网页中的验证码图片
  10. 「POI2012」约会 Rendezvous
  11. 案例详解:理解Python中的“解析式”
  12. 【Excel】Excel读取数据时,提示“服务器连接异常”
  13. 计算机硬盘从盘的设置,双硬盘怎么设置主从盘 电脑双硬盘设置主从教程
  14. 鲲鹏920是计算机CPU吗,华为鲲鹏920
  15. 2021 长安杯 Re
  16. ubuntu 1204 server xp 硬盘安装
  17. react中ref使用方法解析
  18. zlib流压缩--字符串
  19. python地图可视化前端页面展示_利用pyecharts实现地图可视化
  20. 【愚公系列】2023年02月 WMS智能仓储系统-012.登录功能的实现

热门文章

  1. 随机森林评估特征重要性
  2. 仿真作业3:噪声通过DSB-SC解调器
  3. hdu acm 1016
  4. (1)GO数据库存储结构详解(从数据库构建角度解析)
  5. 实数系的完备性的含义
  6. Ten graph questions of about 2000 difficulty of Codeforces Round 1
  7. 快速突破面试算法之搜索算法篇
  8. 深度学习文献阅读笔记(6)
  9. 随笔编号-15 重构--改善既有代码的设计--Day01--学习笔记
  10. python3.5------用户的三次验证