Harvest of Apples
题意
题意是从n个苹果里面选取最多m个苹果的方案数量。m、n、t<=1e5
思路
莫队分块+组合预处理,原来莫队中的区间[l,r]在这里用n、m代替了。
接下来是推公式部分:
S(n,m)表示∑ni=1∑mj=1Cji
我们可以得出S(n,m)=S(n,m−1)+Cmn ,——-①
又因为有Cmn=Cmn−1+Cm−1n−1(组合数学的一个基本公式),因此又可以推出:S(n,m)=S(n−1,m)+S(n−1,m−1)=2S(n−1,m)−Cmn−1——–②
有了①②两个式子,我们就可以得到S(n,m)和S(n-1,m)、S(n+1,m)、S(n,m-1)、S(n,m+1)之间的关系,先预处理出n!和相应的需要的逆元,然后把输入的查询分块,按照代码中所示的“套路”排序法,排一排,然后对于每个n,m开始处理,分四种情况这样。
看!代码
1 |
|