摘要:
我们不妨先来复习一下欧几里得辗转相除法是怎么求两个数的最大公约数的 证明: 代码实现 拓展欧几里得:对于不完全为0的非负整数a,b,若gcd(a,b)表示a和b的最大公约数,则必然存在整数对(x,y),是的gcd(a,b)=ax+by 证明: 代码实现: 你当前这一层所用到的x2,y2就是上一层递归 阅读全文
摘要:
先画出杨辉三角,我们发现$C_{i}^{j}$都在$C_{n}^{m}$的左上角 那么怎么快速的找倍数呢,由于杨辉三角是加法递推下来的,因此从我们可以边递推边取模,如果余数为0则满足。同时维护二维前缀和,ans[i][j]——到了第i行j列的答案数量。 需要注意的:对于每一行,要加一句 ans[i] 阅读全文
摘要:
"传送门" 很容易就可以看出,答案等于 $C_{k}^{n 1} a^n b^m$ (如果不懂的,可以自行研究一下${(ax+by)}^3$,${(ax+by)}^4$的系数规律) 然后...快速幂跑一下,杨辉三角一打就行了 cpp include define K 1005 define mod 阅读全文