NOIP2011计算系数详解[通俗易懂]

NOIP2011计算系数详解[通俗易懂]原题见洛谷(https://www.luogu.org/problem/show?pid=1313)想看稍微简单点的就是NOIP2016的组合数问题,小飞机~(http://blog.csdn.net/a1351937368/article/details/76907902)先说一下这道题需要用到:组合数(杨辉三角),乘方做这道题的感受:题目中说(by+ax)^k,而输入顺序是先a后b搞

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

原题见洛谷(https://www.luogu.org/problem/show?pid=1313
想看稍微简单点的就是NOIP2016的组合数问题,小飞机~(http://blog.csdn.net/a1351937368/article/details/76907902
先说一下这道题需要用到:组合数(杨辉三角),乘方
做这道题的感受:题目中说(by+ax)^k,而输入顺序是先a后b搞得我60分emmmm,膜10007记得要开long long有可能会爆int
根据二项式定理,(x+y)^k中x^m*y^(k-m)的系数为C(k,m)
让我们改装一下:(ax+by)^k中x^m*y^(k-m)的系数为C(k,m)*a^m*b^(k-m)
然后这道题就可以乖乖的AC啦~再加点玄学卡常数和优化这道题总时间0ms(其实没必要)
代码:

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>

const int maxn=1500;
int c[maxn][maxn];

inline int read(){
    int num;
    char ch;
    while((ch=getchar())<'0' || ch>'9');
    num=ch-'0';
    while((ch=getchar())>='0' && ch<='9'){
        num=num*10+ch-'0';
    }
    return num;
}
inline void out(int x){
    if(x>=10){
        out(x/10);
    }
    putchar(x%10+'0');
}
inline int time(int p,int q){
    if(q==0){
        return 1;
    }
    long long ans=1;
    for(register int i=1;i<=q;++i){
        ans*=p,ans%=10007;
    }
    return ans;
}

int main(){
    int b=read(),a=read(),k=read(),n=read(),m=read();
    long long ans;
    c[0][0]=1;
    for(register int i=1;i<=k;++i){
        c[i][0]=c[i][i]=1;
    }
    for(register int i=1;i<=k;++i){
        for(register int j=1;j<i;++j){
            c[i][j]=(c[i-1][j]+c[i-1][j-1])%10007;
        }
    }
    ans=c[k][m]*(time(a,m)*time(b,n)%10007)%10007;
    out(ans);
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189663.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 主成分分析(PCA)原理详解「建议收藏」

    “微信公众号”本文同步更新在我的微信公众号里,地址:https://mp.weixin.qq.com/s/Xt1vLQfB20rTmtLjiLsmww本文同步更新在我的知乎专栏里面:主成分分析(PCA)原理详解-Microstrong的文章-知乎https://zhuanlan.zhihu.com/p/377770741.相关背景在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观…

  • idea2021.10.3激活码【2021免费激活】

    (idea2021.10.3激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html0YQJ1128OW-eyJsaWNlbnNlSW…

  • 【STM32F407的DSP教程】第2章 Matlab R2018a的安装

    【STM32F407的DSP教程】第2章 Matlab R2018a的安装完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547第2章MatlabR2018a的安装本期教程主要是讲解MatlabR2018a的安装过程,作为学习DSP的必备软件,掌握简单的Matlab操作是必须的。目录第2章MatlabR2018a的安装2.1初学者重要提示2…

  • Android 修改host文件的3种方法

    Android 修改host文件的3种方法Android修改hosts文件的方法介绍本文介绍三种Android手机修改hosts文件的方法,但修改hosts文件一定要谨慎:Android手机hosts文件的换行符必须是n而不是windows的rn,使用Notepad++打开hosts文件,依次点击菜单中的“视图–显示符号–显示所有字符”,如果行末是LF就没问题,CRLF结束则需要…

    2022年10月10日
  • 在小程序/mpvue中使用flyio发起网络请求「建议收藏」

    在小程序/mpvue中使用flyio发起网络请求「建议收藏」Fly.js一个基于Promise的、强大的、支持多种JavaScript运行时的http请求库.有了它,您可以使用一份http请求代码在浏览器、微信小程序、Weex、Node、ReactNative、快应用中都能正常运行。同时可以方便配合主流前端框架,最大可能的实现WriteOnceRunEverywhere。上一篇文章介绍了在快应用中使用flyio,本文主要介绍一下如何在…

  • sigaction信号处理

    sigaction信号处理1.sigactionintsigaction(intsignum,conststructsigaction*act,structsigaction*oldact);signum:可以指定SIGKILL和SIGSTOP以外的所有信号2.structsigactionstructsigaction{void(*sa_handler)(int);

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号