"题意" 设$a_i$表示第$i$个糖果的能量,$b_i$表示第$i$个药片的能量 首先可以得出满足条件时,$a b$的对数为$\frac{n+k}{2}$。 因为恰好为$i$的方案数不好求,我们先求出至少为$i$的方案数,之后用二项式反演求出答案。 先将$a,b$从小到大排序。 设$h_{i,j} ...
分类:
其他好文 时间:
2020-01-05 20:32:26
阅读次数:
62
"题目" 思路 显然是恰好有$\frac{n+k}{2}$组$a b$ 令$f(i,j)$表示前$i$个糖果,已经有$j$组$a b$,剩下的没管的方案数 对$a$数组从小到大排序,设$r_i$表示比$a_i$小的$b$个数,那么$r_i$是递增的 有状态转移方程$f(i,j) = f(i 1,j) ...
分类:
其他好文 时间:
2019-12-01 20:43:42
阅读次数:
112
有糖果和药片各n个。糖果ii有能量ai,药片i有能量bi。 你需要将药片和糖果两两配对,求有多少种方案满足糖果比药片能量大的组数减去药片比糖果能量大的组数恰好为k。保证所有的能量两两不同,答案对109+9取模。Input Format#第一行两个整数n,k第二行n个整数,表示糖果的能量。第三行n个整 ...
分类:
其他好文 时间:
2019-11-21 12:10:59
阅读次数:
59
bzoj-3622 已经没有什么好害怕的了 题目大意: 数据范围:$1\le n \le 2000$ , $0\le k\le n$。 想法: 首先,不难求出药片比糖果小的组数。 紧接着,我开始的想法是 $f_{(i,j)}$表示前$i$个糖果中,满足糖果比药片大的组数是$j$的方案数。 进而发现需 ...
分类:
其他好文 时间:
2019-06-19 20:05:21
阅读次数:
97
"嘟嘟嘟" 题中给的$k$有点别扭,我们转换成$a b$的对数是多少,这个用二元一次方程解出来是$\frac{n + k}{2}$。 然后考虑dp,令$dp[i][j]$表示前$i$个数中,有$j$对满足$a b$的方案数,转移的时候考虑这一组是否满足$a b$即可:$dp[i][j] = dp[i ...
分类:
其他好文 时间:
2019-06-05 19:44:28
阅读次数:
129
" 传送门 " Description Solution " 广义容斥原理 " 首先对于要求一个恰好为$k$的答案,我们可以转化为不少于$k$的答案,然后容斥 怎么求不少于$k$的答案呢,我们通常是钦定几个条件必然满足,剩下的就是排列组合乘进去 因为显然会算重,所以要容斥 对于此题: 我们先对两个序 ...
分类:
其他好文 时间:
2019-04-13 23:48:18
阅读次数:
170
"题目" 看到这个数据范围就发现我们需要一个$O(n^2)$的做法了,那大概率是$dp$了 看到恰好$k$个我们就知道这基本是个容斥了 首先解方程发现我们需要使得$a b$的恰好有$\frac{n+k}{2}$组 如果不整除我们直接输出$0$就好了 之后开始使用套路,直接广义容斥 $$ans=\su ...
分类:
其他好文 时间:
2019-03-31 19:30:27
阅读次数:
179
题目大意: 给定两个长度为$n$的序列,求有多少种匹配方式,使得$a_i define REP(i,a,b) for(int i=a,i _end_=b;i=i _end_; i) define debug(x) coutvoid read(T &_){ _=0; T f=1; char c=get ...
分类:
其他好文 时间:
2019-01-05 12:06:39
阅读次数:
181
套路满满的样子(o°ω°o) 实际上在发现‘比...多 \(K\) 实际上就是要求糖果能量大于药片能量的组数为 \(K'\) 时,这题的指向性就很明确了。按照惯例来说,我们应当试图用‘至少’来求出‘恰好’的方案数。 先考虑容斥的部分:如果可以求出每一个糖果集合 \(T\) 使得 \(T\) 中的所有 ...
分类:
其他好文 时间:
2018-12-22 23:22:37
阅读次数:
164
https://www.lydsy.com/JudgeOnline/problem.php?id=3622 XJOI题 不过没做过。。 容斥计数啊 先排序 记$f[i][j]$为前$i$位有$j$位固定且$a[j] b[k]$的方案数 $$f[i][j] = f[i 1][j] + f[i 1][j ...
分类:
其他好文 时间:
2018-07-07 13:52:14
阅读次数:
170