zoukankan      html  css  js  c++  java
  • 【洛谷p2822】组合数问题

    (突然想          ??忘掉了wdt)

    (行吧那就%%%hmr

    组合数问题【传送门】

    (因为清明要出去培训数学知识所以一直在做数论)


    组合数<=>杨辉三角形(从wz那拐来的技能

    #include<iostream>
    #include<cstdio>
    #include<string>
    #include<cmath>
    #include<algorithm>
    #include<cstring>//万年不变头文件
    using namespace std;
    int t,k,c[2010][2010],f[2010][2010],n,m;//c数组用来存放杨辉三角是否为k的倍数,
    f数组用来存放在1-c[i][j]中为k的倍数的数个数
    void write(long long a){ //从某只大佬那拐来的神奇”快输“,我就这么叫了【吐舌】 if(a>9)write(a/10); putchar(a%10+'0'); } int main() { scanf("%d%d",&t,&k); for(int i=0;i<=2000;i++)c[i][0]=1; for(int i=1;i<=2000;i++) for(int j=1;j<=i;j++) c[i][j]=(c[i-1][j-1]+c[i-1][j])%k;//见上面懒得写辽 for(int i=1;i<=2000;++i){ for(int j=1;j<=i;++j){ f[i][j]=f[i-1][j]+f[i][j-1]-f[i-1][j-1]; if(!c[i][j])f[i][j]++; } f[i][i+1]=f[i][i]; } for(int i=1;i<=t;i++){ scanf("%d%d",&n,&m); if(m>n)m=n;//需要满足取小 write(f[n][m]); putchar(' '); } return 0; }

    end-

    (刷存在:qingmingyaoqupeixunjiuwomenzuigui,qifen

  • 相关阅读:
    MapReduce案例
    Hive学习笔记九
    大数据技术之Hive
    Hive学习笔记八
    Hive学习笔记七
    Hive学习笔记六
    大数据应用技术课程实践--选题与实践方案
    15.手写数字识别-小数据集
    14.深度学习-卷积
    13.垃圾邮件分类2
  • 原文地址:https://www.cnblogs.com/zhuier-xquan/p/10612692.html
Copyright © 2011-2022 走看看