组合数学经典方程的对偶方程一个不等式问题(例题:acwing1312 序列统计)
Posted hans774882968
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了组合数学经典方程的对偶方程一个不等式问题(例题:acwing1312 序列统计)相关的知识,希望对你有一定的参考价值。
经典方程的对偶方程
方程,指经典方程sum(x[j]) = n, 1 <= j <= m, x[j] >= 0
。它的解的个数很容易求,设有n
个球和m-1
个隔板,则隔板间的空隙有m
个且允许为空,故解数C(n+m-1,n)
。
它的对偶问题是什么呢?设以上经典方程为(m,n)
,并设对偶问题为(p,q)
,则:
p+q-1 = n+m-1
q = m-1
(注意,不可能是q = n
)
于是解得(n+1,m-1)
。这意味着sum(x[j]) = m-1, 1 <= j <= n+1, x[j] >= 0
的解数和原方程的解数相同。我们代入即可验证,对偶方程的对偶方程就是原方程。
一个不等式问题
不等式,指sum(x[j]) <= n, 1 <= j <= m, x[j] >= 0
。我们构造一个新变量x[0] >= 0
,则得到一个方程(m+1,n)
(沿用上面约定的记号)。只需要证明解相互包含即可证明它们解数相同。
一个原不等式的解,总对应着新方程的x[0] = n-sum(x[j])
的解,所以原不等式的解数 <= 新方程。一个新方程的解,总对应着一个原不等式的解,因为它们都满足原不等式的要求,所以新方程的解数 <= 原不等式。证毕。
acwing1312 序列统计
(我交不了555)
题意:给定三个正整数N,L,R
,统计长度在1
到N
之间,元素大小都在L
到R
之间的单调不降序列的数量。
N,L,R
都是1e9,模1e6+3,多组样例。
首先元素大小改成都在0 ~ R-L+1
之间。固定数组长度为k
,即求0 <= a[1] <= ... <= a[k] <= R-L
的方案数。再考虑设变量x[i] = a[i] - a[i-1], x[1] = a[1]
,于是求sum(x[i]) <= R-L, x[i] >= 0
的解数即可(注意这里有k
个不等式要满足,但最后一个不等式满足即可满足前面的,所以只指出这一个)。
根据《一个不等式问题》,我们得到它等价于方程(k+1,R-L)
,解数C((k+1)+(R-L)-1,(k+1)-1) = C(k+(R-L),k)
。
接下来我们需要求ans = sum(C(k+R-L,k)),k >= 1
,即ans = sum(C(k+R-L,k)) - 1,k >= 0
。不妨把k
换成R-L
,即C(R-L+k,R-L)
。这个求和式是变量个数在变,总和为定值,不好处理,不妨用《经典方程的对偶方程》的结论来转化。(k+1,R-L) <=> (R-L+1,k)
,再根据《一个不等式问题》,求和式对应的方程是(R-L+2,n)
,所以ans = C(R-L+1+n,n) - 1
。
总结:反复使用上面介绍的两个结论即可解决。
再解决一个经典问题
求sum(C(n+i,i)),0 <= i <= m
。
设C(n+i,i)
表示的方程是(x,y)
,则
x+y-1 = n+i
y = i
(y = n
不太方便,因为这样导致变量个数在变)
得x = n+1, y = i
。根据《一个不等式问题》,原问题就是方程(n+2,m)
,所以ans = C(n+m+1,m)
。
同理,可证
C
n
+
1
k
+
1
=
∑
i
=
0
n
C
i
k
C_n+1^k+1=\\sum_i=0^n C_i^k
Cn+1k+1=i=0∑nCik
证明:C(i,k)
对应方程(k+1,i-k)
的解数,推出ans
对应方程(k+2,n-k)
的解数。
以上是关于组合数学经典方程的对偶方程一个不等式问题(例题:acwing1312 序列统计)的主要内容,如果未能解决你的问题,请参考以下文章