zoukankan      html  css  js  c++  java
  • 数论简单题 【组合数】

    本人水平有限,题解不到为处,请多多谅解

    本蒟蒻谢谢大家观看

    题目:

    数论简单题

    (simple.cpp/in/out 1s 256M)

     

    由于最终结果可能超过int的范围,因此请将运算结果对1000000007取模。

    Input

    1行,一个整数TT <= 200000),表示数据组数。

    2行至第T+1行,每行两个整数m, n

    0 < m <= n <= 2000

    Output

    T行,每行输出一个整数,代表求和结果。

    Sample Input

    3

    1 1

    2 3

    3 3

    Sample Output

    1

    3

    1

    前一个数由后一个数累加而来

    可以通过样例分析,是求组合数

    组合意义:

    循环变量构成一个递增的序列,因此只要在n个数中选出m个数,按从小到大的顺序依次分配给m个循环变量即可,组合数可用DP求杨辉三角得。

    由于T很大,需要进行预处理。

    时间复杂度O(nm)

    code:

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 #define N 2020
     4 #define ll long long 
     5 #define mod 1000000007
     6 ll t,n,m;
     7 ll c[N][N];
     8 int main()
     9 {
    10     c[1][0]=c[1][1]=1;
    11     for(ll i=2;i<=2011;i++)
    12     {    
    13         c[i][0]=1;
    14         for(ll j=1;j<=2011;j++)
    15             c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;//杨辉三角求法 
    16     }
    17     scanf("%lld",&t);
    18     while(t--)
    19     {
    20         scanf("%lld%lld",&m,&n);
    21         printf("%lld
    ",c[n][m]);
    22     }
    23     return 0;
    24 }
  • 相关阅读:
    高性能MySQL之锁详解
    采样方法-数据不均衡
    bert中的分词
    中文多分类 BERT
    Transformer+BERT+GPT+GPT2
    GPU下train 模型出现nan
    list 转换成dictionary,并统计词频
    python多个分割符split字符串
    tensorflow中的kernel/Adam 变量的来源
    tensorflow 使用预训练好的模型的一部分参数
  • 原文地址:https://www.cnblogs.com/nlyzl/p/11713891.html
Copyright © 2011-2022 走看看