组合数模板

1. 1000以内的较多组合数求解;利用C(n,m) = C(n-1,m) + C(n-1,m-1)求解;

const int N = 1005;
ll f[N][N];
void init(int n)
{
    f[0][0] = 1;
    for(int i = 1;i <= n;i++){
        f[i][0] = 1;
        for(int j = 1;j <= i;j++)
            f[i][j] = f[i-1][j] + f[i-1][j-1];
    }
}
时间: 2024-10-09 01:19:25

组合数模板的相关文章

组合数模板 - Lucas

2017-08-10 19:35:32 整理者:pprp 用于计算C(m,n) % p 代码如下: //lucas #include <iostream> using namespace std; typedef long long ll; //a^b%m 快速幂 int quick_power_mod(int a, int b, int m) { int result = 1; int base = a; while(b > 0) { if(b&1 == 1)//如果b是奇数

HDU 6114 Chess【逆元+组合数】(组合数模板题)

<题目链接> 题目大意: 車是中国象棋中的一种棋子,它能攻击同一行或同一列中没有其他棋子阻隔的棋子.一天,小度在棋盘上摆起了许多車--他想知道,在一共N×M个点的矩形棋盘中摆最多个数的車使其互不攻击的方案数.他经过思考,得出了答案.但他仍不满足,想增加一个条件:对于任何一个車A,如果有其他一个車B在它的上方(車B行号小于車A),那么車A必须在車B的右边(車A列号大于車B). 现在要问问你,满足要求的方案数是多少. Input 第一行一个正整数T,表示数据组数. 对于每组数据:一行,两个正整数N

icpc2016沈阳网络赛1003hannnnah_j’s Biological Test组合数模板题

hannnnah_j’s Biological Test Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Problem Description hannnnah_j is a teacher in WL High school who teaches biology. One day, she wants to test m students, thus she arra

组合数(模板)

1. 利用 C[i][j] = C[i-1][j-1] + C[i][j-1] 递推求解 long long C[1000][1000]; // C[i][j] 表示 C(j,i)%mod j中取i; void Combination() { memset(C, 0x0000, sizeof(C)); for(int i = 0; i < 1000; i++) { for(int j = i; j < 1000; j++) { if(i==0) C[i][j] = 1; else if(i==

【组合数模板】HDU 6114 Chess

http://acm.hdu.edu.cn/showproblem.php?pid=6114 [思路] 就是求C(m,n) [板] #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cmath> using namespace std; typedef long long ll; con

Lucas求大数组合数模板

void init() { int i; fac[0] =1; for(i =1; i <= p; i++) fac[i] = fac[i-1]*i % p; } llg pow(llg a, llg b) { llg tmp = a % p, ans =1; while(b) { if(b &1) ans = ans * tmp % p; tmp = tmp*tmp % p; b >>=1; } return ans; } llg C(llg n, llg m) { if(m

HDU6333 莫队+组合数

题目大意: 给定n m 在n个数中最多选择m个的所有方案 #include <bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define LL long long const int mod=1e9+7; const int N=1e5+5; /********组合数模板*********/ LL pow_mod(LL a, LL b) { LL res = 1LL; a %= mod; while(b){ if(b &

luanqibazao

#include <iostream> #include <stdio.h> #include <vector> #include <algorithm> //组合数模板 /* int C(int n, int r) { int sum = 1; for (int i = 1; i <= r; i++) { sum = sum * (n + 1 - i) / i; } return sum; } */ //---------------- //将字符串

解题报告 之 SOJ1942 Foto

解题报告 之 SOJ1942 Foto Description The election campaign just started, so PSOS decided to make some propagation. One of the representatives came with a great idea - he proposes to make an photography of their Parliament Club. Unfortunatelly, even after