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;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue中keep-alive、activated的探讨和使用「建议收藏」

    vue中keep-alive、activated的探讨和使用「建议收藏」在修改公司的一个项目的时候发现了activated这个东西,一直觉得很疑惑,之前也没怎么用过啊!官网的生命周期那也没说过这东西啊!生命周期不就createmountupdate和destory这几个东东么,怎么多了个activate出来。百思不得其解,于是去问了下度娘和查了下文档!恍然大悟,原来这东东是结合keep-alive这东东使用的,下面顺便记录一下。 keep-ali………

    2025年8月24日
    3
  • bootstrap 合并单元格之mergeCells属性合并

    bootstrap 合并单元格之mergeCells属性合并bootstrap合并单元格之mergeCells属性合并合并单元格有多种实现方式本文是根据bootstrap自带的mergeCells属性实现的单元格合并,原理是根据有规律的排序数据然后在展示层根据数据行数合并,这样的劣势是数据一定要有规律事先要排序还有一种是比较灵活的是事先处理好数据合并成一行,然后自己去展示层设计怎么展示,而且不用考虑分页问题,详情在我的…

    2022年4月19日
    221
  • 分享社群规划全流程sop(基础搭建、日常维…

    分享社群规划全流程sop(基础搭建、日常维…无套路,纯分享!全套社群运营文档,可学习套用相信不少做社群运营的朋友一定会出现过这种情况,微信社群或者QQ社群内的群成员不活跃,整天群里犹如一潭死水,此外还有运营目标不明确、成员不愿积极发言、大部分人入群从不说话等等问题。作为运营狗一定要学会社群规划,今天就给大家带来一份【社群规划全流程sop】,主要包含基础搭建、日常维护、增留转、互动案例等四个步骤,每个步骤都有详细的规划讲解,以及相关案例,非常值得参考学习使用。社群规划全流程sop社群规划全流程sop社…

    2022年5月9日
    69
  • Java 数据库image型输出图片

    有一些程序在sqlserver中存储图片的方式是通过二进制存储导数据库的,那么保存进去之后,怎么把图片显示出来呢?直接上代码,servlet后台代码:byte[]b1=””;//数据库查询出来的二进制InputStreamin=newByteArrayInputStream(b1);response.setContentType(“image/jpg”);Outpu…

    2022年4月15日
    47
  • oh my zsh配置_setlanguage?lang=classic-zh-cn

    oh my zsh配置_setlanguage?lang=classic-zh-cn什么是Shell?相对于内核来说,Shell是Linux/Unix的一个外壳,它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真

    2022年8月5日
    6
  • HttpURLConnection.setRequestProperty设置请求头「建议收藏」

    HttpURLConnection.setRequestProperty设置请求头「建议收藏」HttpURLConnection.setRequestProperty(Stringkey,Stringvalue); 设置http请求头

    2025年10月19日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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