NOIP 2011 计算系数

NOIP 2011 计算系数数论

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

题目描述

给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数。
输入输出格式
输入格式:

输入文件名为factor.in。

共一行,包含5 个整数,分别为 a ,b ,k ,n ,m,每两个整数之间用一个空格隔开。

输出格式:

输出共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果。

输入输出样例
输入样例#1:

1 1 3 1 2

输出样例#1:

3

说明

【数据范围】

对于30% 的数据,有 0 ≤k ≤10 ;

对于50% 的数据,有 a = 1,b = 1;

对于100%的数据,有 0 ≤k ≤1,000,0≤n, m ≤k ,且n + m = k ,0 ≤a ,b ≤1,000,000。

noip2011提高组day2第1题


【分析】
先抛开a,b(设 a==b==1)
那么我们可以发现这是一个杨辉三角
那么构建一个杨辉三角
然后在杨辉三角中找出 s[k][m] (或者 s[k][n])
然后将该数字乘 a^n 再乘 b^m 即可


【代码】

//NOIP 2011 计算系数 
#include<cstdio>
#define fo(i,j,k) for(int i=j;i<=k;i++)
inline int min(int a,int b) {
  
  if(a>b) return b;return a;}
int s[1002][1002];
int main()
{
    int a,b,k,n,m;
    scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);
    a=a%10007;b=b%10007;
    s[0][0]=1;
    fo(i,0,k) s[i][0]=1;
    fo(i,0,k) s[i][i]=1;
    fo(i,2,k)
      fo(j,1,i)
        s[i][j]=(s[i-1][j]+s[i-1][j-1])%10007;  
    int ans=s[k][m];
    fo(i,1,n) ans=(ans*a)%10007;
    fo(i,1,m) ans=(ans*b)%10007;
    printf("%d",ans%10007);
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

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


相关推荐

  • Swift的属性,方法,下标脚本以及继承

    Swift的属性,方法,下标脚本以及继承

    2021年12月16日
    62
  • 1602A的基本描述[通俗易懂]

    1602A的基本描述[通俗易懂]LCD1602的主控芯片是HD44780或者其它兼容芯片。与此相仿的是LCD12864液晶显示器,它是一种图形点阵显示器,能显示的内容比LCD1602要丰富得多,除了普通字符外,还可以显示点阵图案,带有汉字库的还可以显示汉字,它的并行驱动方式与LCD1602相差无几,所以,在这里花点时间是值得的。//File1#ifndef__ZHANGTYPE_H__#define__ZHANGTYPE_H__#defineuint8unsignedchar#defineuin…

    2022年9月22日
    2
  • Flow Control(流控)

    Flow Control(流控)Backpressure(背压)只是解决FlowControl的其中一个方案。就像小学做的那道数学题:一个水池,有一个进水管和一个出水管。如果进水管水流更大,过一段时间水池就会满(溢出)。这就是没有FlowControl导致的结果。而解决FlowControl有几种思路呢?(1)Backpressure,就是消费者需要多少,生产者就生产多少。这有点类似于TCP里的流量控制,接收方根据自己的…

    2022年6月6日
    30
  • 详解Linux双网卡绑定之bond0「建议收藏」

    1、什么是bond?  网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。Kernels2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现。2、实现原理:  网卡工作在混杂(promisc)模式,接收到达网卡的所有数据包,tcpdump工作用的也是混杂模式(promisc),将两块网卡的MAC地址…

    2022年4月1日
    65
  • LNK2001: 无法解析的外部符号的几种情况

    LNK2001: 无法解析的外部符号的几种情况errorLNK2001:无法解析的外部符号无法解析几种情况:1&amp;amp;gt;MSVCRT.lib(MSVCR90.dll):errorLNK2005:_printf已经在libcurl.lib(pqueue.obj)中定义1&amp;amp;gt;MSVCRT.lib(MSVCR90.dll):errorLNK2005:_fprintf已经在libcurl.lib(pem_lib.o…

    2022年6月28日
    34
  • idea打包java项目生成jar_idea打包项目

    idea打包java项目生成jar_idea打包项目Idea打包java项目、点击加号Artifacts工件一定要双击加入到左侧再运行jar包java-jardemo.jar包名.jar

    2022年9月27日
    4

发表回复

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

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