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