NOIP 2011 计算系数

题目描述

求 (ax+by)^k 的展开中 x^n*y^m 项的系数。由于系数可能很大,只要求输出除以 10007 的余数。

输入

一行共五个整数,分别为 a,b,k,n,m

输出

一个整数,为该项系数除以10007的余数。

样例输入

1 1 3 1 2

样例输出

3

数据范围:

30% 0<=k<=10,

50% a=1,b=1

100% 0<=k<=1000, 0<=n,m<=k 且 n+m=k, 0<=a,b<=100,000

//NOIP2011 DAY2 factor

Solution:

  首先先不考虑a,b的变化,即假设a=b=1。

  然后开始分析题意,(ax+by)^k的展开,在数学上是一个杨辉三角~

//下面是数学问题惹

  (假定a=b=1) 我们就k=0,1,2,3...进行分析

    1                x^0*y^0

    1 1           x^1+y^1

    1 2 1          x^2+2xy+y^2

    1 3 3 1       x^3+3x^2y+3xy^2+*y^2

    ......            ......

  以此类推,本题只是增加了a,b的数值。

  在杨辉三角中找出ans=f[k][m]后,再把ans^a后再ans^b即可。

  记得取模(不用写快速幂也是很良心der~)

 1 #include<cstdio>
 2 #define MAXN 1005
 3 #define MODE 10007
 4 using namespace std;
 5 int f[MAXN][MAXN];
 6 int a,b,k,n,m,ans=1;
 7 int main(){
 8     scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);
 9     a%=MODE;b%=MODE;
10     for(int i=1;i<=k;i++) {
11         f[i][i]=f[i][0]=1;
12         f[i][1]=i;
13     }
14     for(int i=3;i<=k;i++)
15         for(int j=2;j<=i;j++) f[i][j]=(f[i-1][j-1]+f[i-1][j])%MODE;
16     ans=f[k][m]%MODE;
17     for(int i=1;i<=n;i++) ans=(ans*a)%MODE;
18     for(int i=1;i<=m;i++) ans=(ans*b)%MODE;
19     printf("%d",ans);
20     return 0;
21 }
时间: 2024-08-07 04:02:08

NOIP 2011 计算系数的相关文章

2011 计算系数

计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k ,n ,m,每两个整数之间用一个空格隔开. 输出格式: 输出共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果. 输入样例: 1 1 3 1 2 输出样例: 3 说明 [数据范围] 对于30% 的数据,有 0 ≤k ≤10 : 对于50% 的数据,有 a = 1,b

codevs1137 计算系数

1137 计算系数 2011年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 给定一个多项式(ax + by)^k,请求出多项式展开后x^n y^m项的系数. 输入描述 Input Description 共一行,包含 5 个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开. 输出描述 Output Description 输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,

vijos - P1739计算系数 (多项式计算 + 杨辉三角形 + 高速幂)

P1739计算系数 Accepted 标签:NOIP提高组2011[显示标签] 描写叙述 给定一个多项式(ax + by)^k,请求出多项式展开后x^n * y^m项的系数. 格式 输入格式 共一行,包括5个整数,分别为a,b,k.n,m,每两个整数之间用一个空格隔开. 输出格式 输出共1行,包括一个整数,表示所求的系数.这个系数可能非常大.输出对10007取模后的结果. 例子1 例子输入1[复制] 1 1 3 1 2 例子输出1[复制] 3 限制 1s 提示 对于30%的数据,有0 ≤ k ≤

codevs 1137 计算系数

传送门 1137 计算系数 2011年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 给定一个多项式(ax + by)^k,请求出多项式展开后x^n y^m项的系数. 输入描述 Input Description 共一行,包含 5 个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开. 输出描述 Output Description 输出共 1 行,包含一个整数,表示所求的系

RQNOJ659 计算系数

http://www.rqnoj.cn/problem/659 描述 给定一个多项式(ax + by)^k,请求出多项式展开后x^n * y^m项的系数. 格式 输入格式 共一行,包含5个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开. 输出格式 输出共1行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007取模后的结果. 样例1 样例输入1[复制] 1 1 3 1 2 样例输出1[复制] 3 限制 1s 提示 对于30%的数据,有0 ≤ k ≤ 10: 对于50%的

洛谷P1313 计算系数

P1313 计算系数 题目描述 给定一个多项式(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 ≤1

NOIP 2011 Day 1 部分题解 (Prob#1 and Prob#2)

Problem 1: 铺地毯 乍一看吓cry,地毯覆盖...好像是2-dims 线段树,刚开头就这么难,再一看,只要求求出一个点,果断水题,模拟即可.(注意从标号大的往小的枚举,只要有一块地毯符合要求就输出,返回.) (全篇未完结,代码就不发了.) Problem 2: 选择客栈 模拟果断会超时,所以用类似动态规划的方法. 用$\text{sum}\left[ i\right]$表示从一号客栈到i号客栈途中的符合要求的Café总数,自然,$\text{O}\left( n\right)$的时间复

计算系数(noip2011)

[问题描述]给定一个多项式(ax + by)^k,请求出多项式展开后(x^n)*(y^m)项的系数.[输入]输入文件名为 factor.in.共一行,包含 5 个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开.[输出]输出文件名为 factor.out.输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果.[输入输出样例] factor.in factor.out 1 1 3 1 2 3 [数据范围] 对于 30%的数据,有0≤k≤10:对

noip2011 计算系数

P1313 计算系数 431通过 1.4K提交 题目提供者该用户不存在 标签数论(数学相关)2011NOIp提高组 难度普及/提高- 提交该题 讨论 题解 记录 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k ,n ,m,每两个整数之间用一个空格隔开. 输出格式: 输出共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模