hdu 3037 插板法组合 + lucas定理
来源:互联网 发布:大数据图标 编辑:程序博客网 时间:2024/06/09 14:23
分析:
插板法解决的问题:
如果
如果
扩展,对于每个数最小为多少都可以通过先强行加减的方法把它转化为,正整数问题。
lucas定理:解决
本题就是插板法列出求和公式,用组合数的性质化简求和公式,最后算
#include <cstdio>#include <cstring>#include <iostream>#include <cmath>#include <algorithm>using namespace std;#define pr(x) cout << #x << ": " << x << " " #define pl(x) cout << #x << ": " << x << endl;struct jibancanyang{ int n, m, mod; int fac[int(1e5) + 7]; //定义范围为mod的范围! void init() { fac[0] = 1; for (int i = 1; i <= mod; ++i) fac[i] = (long long)fac[i - 1] * i % mod; } long long fastpow(long long a, long long b) { long long x = a % mod, ret = 1; while (b) { if (b & 1) ret = ret * x % mod; x = x * x % mod; b >>= 1; } return ret; } int C(int n, int m, int mod) { return m > n ? 0 : fac[n] * fastpow((long long)fac[m] * fac[n - m], mod - 2) % mod; } int lucas(long long n, long long m, int mod) { return m ? (long long)C(n % mod, m % mod, mod) * lucas(n / mod, m / mod, mod) % mod : 1; } void fun() { int T; scanf("%d", &T); while (T--) { cin >> n >> m >> mod; init(); cout << lucas(n + m, m, mod) << endl;; } }}ac;int main(){#ifdef LOCAL freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout);#endif ac.fun(); return 0;}
0 0
- hdu 3037 插板法组合 + lucas定理
- ZOJ 3557-How Many Sets II(Lucas定理+插板法求组合数)
- hdu-3037-组合数取模-Lucas定理
- hdu 3037 费马小定理+逆元求组合数+Lucas定理
- hdu 3037 lucas定理-组合数学 hdu 4399
- hdu 3037 lucas定理
- hdu 3037 Saving Beans 【大组合数取模-Lucas定理+逆元取模】
- 大组合数取模 hdu 3037 Saving Beans lucas定理
- [ACM] hdu 3037 Saving Beans (Lucas定理,组合数取模)
- HDU 3037 Saving Beans 大组合数 lucas定理
- hdu-3037(lucas定理求大组合数取模)
- hdu 3037(Lucas定理,大组合数取模)
- hdu 3037 Saving Beans(组合数学+lucas定理)
- hdu 3037 Saving Beans (大组合数取模--Lucas定理)
- hdu-3037-Saving Beans(Lucas定理+大组合数取模)
- HDU 3037 Saving Beans 组合数取模 Lucas定理
- HDU - 3037 Saving Beans (数论,组合数取模,lucas定理)
- HDU 3037 Saving Beans(组合数学+Lucas定理)
- C语言串口驱动程序
- 面向对象_形式参数是类名的问题
- 面向对象_匿名对象
- genymotion 出现"unable to start the virtual device"问题解决
- Linq to sql 三つテーブル left out join
- hdu 3037 插板法组合 + lucas定理
- EventBus 3.0的使用
- 快速幂取模
- AJAX表单验证的正则
- android事件分发总结
- js判断手指上滑和下滑
- lua学习
- Scala 文件 I/O
- mac下mysql的安装和配置(转载)