题目大意
给你一个n*m的矩阵,最开始在左上角,只能向下或者向右,求,从左上走到右下的所有路线的方案数。
点击进入原题地址
不难发现,需要走n+m步,然后从n+m中挑出n个走下,即答案就是$C _{m+n}^{m}$
但是!
本题的询问较多,且差距较大,是无法通过递推得到的。
所以就要利用一种求单个组合数的方法。
思路
$C_{n}^{k}$
的本质是$\Pi_{n-k+1}^{n}$ $\div$ $\Pi_{1}^{k}$
所以我们把它当成k个 分数 乘起来就好了。(分子分母分别乘可能会爆longlong)
即ans=$\cfrac{n}{k}\cfrac{n-1}{k-1}\cfrac{n-2}{k-2}…\cfrac{n-k+1}{1}$
由于浮点数可能会产生误差,所以最终结果要加上0.5再取整
代码
1 |
|
“人们都在沉醉,人们都已忘却,人们都装作看都这结尾,一味陷入争辩,无人聆听箴言,该可悲可泣或改叹可怜。”—《绝体绝命》(阿良良木健/洛天依)