【转】TYVJ 1695 计算系数(NOIP2011 TG DAY2 1)
计算系数
题目描述
给定一个多项式(ax + by)k,请求出多项式展开后xn ym项的系数。
【数据范围】
对于 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。
输入格式
共一行,包含 5 个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开。
输出格式
输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取
模后的结果。
输入输出样例】
factor.in
factor.out
1 1 3 1
2
3
下面是某网友的代码:
来源:http://blog.sina.com.cn/s/blog_78aa51270100vqaz.html
#01: Accepted (0ms, 4184KB)
#02: Accepted (0ms, 4184KB)
#03: Accepted (0ms, 4184KB)
#04: Accepted (0ms, 4184KB)
#05: Accepted (0ms, 4184KB)
#06: Accepted (0ms, 4184KB)
#07: Accepted (0ms, 4184KB)
#08: Accepted (0ms, 4184KB)
#09: Accepted (0ms, 4184KB)
#10: Accepted (0ms, 4184KB)
Accepted / 100 / 0ms
/ 4184KB
#include<stdio.h>
#define rep(i,n) for(i=1;i<=n;i++)
const int mo=;
int a,b,k,n,m,i,j;
int f[][];
int main(){
//freopen("factor.in","r",stdin);
//freopen("factor.out","w",stdout);
scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);
a%=mo;b%=mo;f[][]=;
rep(i,n) f[i][]=(f[i-][]*a)%mo;
rep(i,m) f[][i]=(f[][i-]*b)%mo;
rep(i,n) rep(j,m) f[i][j]=(f[i-][j]*a + f[i][j-]*b)%mo;
printf("%d\n",f[n][m]);
//system("pause");
//fclose(stdin);
//fclose(stdout);
return ;
}
----------------------------------另一网友的分析--------------------------------------------------------
http://blog.sina.com.cn/s/blog_606a23dd010128lo.html
这道题虽然出现在提高组,却并不一定只能用高中知识解决。
其实,这道题可以用递推解决。【个人感觉下面这段分析描述不是很对。可以直接跳过到最后面的分析。】
设f[i][j]为(ax+by)^i的x^j*y^(n-j)的系数。显然可以得到公式:
f[i][j]=(f[i-1][j-1]*a+f[i-1][j]*b)007。
时间复杂度O(N^2)
#include<stdio.h>
#include<stdlib.h>
#define mod 10007
int a,b,n,m,k,i,j,f[][];
int main()
{
scanf("%d %d %d %d %d",&a,&b,&k,&n,&m);
a%=mod,b%=mod;
f[][]=b,f[][]=a;
for(i=;i<=k;i++)
for(j=;j<=i&&j<=n;j++)
{
f[i][j]=f[i-][j]*b%mod;
if(j)
f[i][j]=(f[i][j]+f[i-][j-]*a)%mod;
}
printf("%d\n",f[k][n]);
return ;
}


#include<stdio.h>
const int mo=;
int a,b,k,n,m,i,j;
int f[][];
int main()
{
freopen("factor.in","r",stdin);
freopen("factor.out","w",stdout);
scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);
a%=mo;b%=mo;f[][]=;
for(i=;i<=n;i++) f[i][]=(f[i-][]*a)%mo;
for(i=;i<=m;i++) f[][i]=(f[][i-]*b)%mo;
for(i=;i<=n;i++)
{
for(j=;j<=m;j++)
f[i][j]=(f[i-][j]*a + f[i][j-]*b)%mo;
}
printf("%d\n",f[n][m]);
return ;
}
【转】TYVJ 1695 计算系数(NOIP2011 TG DAY2 1)的更多相关文章
- 计算系数(noip2011)
[问题描述]给定一个多项式(ax + by)^k,请求出多项式展开后(x^n)*(y^m)项的系数.[输入]输入文件名为 factor.in.共一行,包含 5 个整数,分别为a,b,k,n,m,每两个 ...
- 计算系数(NOIP2011提高LuoguP1313)
一道数论好题,知识点涉及扩展欧几里得,快速幂,逆元,二项式定理,模运算,组合数等. (别问为啥打了快速幂不用费马小求逆元...我就练习下扩欧) (数据就应该再加大些卡掉n^2递推求组合数的) #inc ...
- NOIP2011 day2 第一题 计算系数
计算系数 NOIP2011 day2 第一题 描述 给定一个多项式(ax+by)^k,请求出多项式展开后x^n*y^m项的系数. 输入格式 共一行,包含5 个整数,分别为 a ,b ,k ,n ,m, ...
- 洛谷P1313 [NOIP2011提高组Day2T1]计算系数
P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别 ...
- 一本通1648【例 1】「NOIP2011」计算系数
1648: [例 1]「NOIP2011」计算系数 时间限制: 1000 ms 内存限制: 524288 KB [题目描述] 给定一个多项式 (ax+by)k ,请求出多项式展开后 x ...
- 题解 【NOIP2011】计算系数
[NOIP2011]计算系数 Description 给定一个多项式 (ax+by)^k ,请求出多项式展开后 x^n * y^m 项的系数. Input 共一行,包含 5 个整数,分别为 a,b,k ...
- NOIP2011 计算系数
1计算系数 给定一个多项式 (ax + by)k ,请求出多项式展开后 x n y m 项的系数. [输入] 输入文件名为 factor.in. 共一行,包含 5 个整数,分别为 a,b,k,n,m, ...
- luoguP1313 计算系数 题解(NOIP2011)
P1313 计算系数 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include<cm ...
- 【NOIP2011提高组】计算系数
计算系数 算法:真·滚动数组模拟!!! 马上CSP/S了,这是远在今年暑假前的一天的校内考试题中的一道.当时做的时候不会组合数,不会二项式定理,不会DP,不会……只知道应该n*n的空间存一个杨辉三角形 ...
随机推荐
- 使用struts2的<s>标签出错
15:org.apache.struts2.views.jsp.ActionTag 16:JSP 17:18:19:executeResult Server: Resin/3.1.4a Content ...
- javaweb-dbcp2
package cn.itcast.utils; import java.io.InputStream;import java.sql.Connection;import java.sql.Drive ...
- go 函数
GO 程序设计 函数 1.新的数据类型 mytype 用户可以根据自身需要定义新的数据类型,下面的mytype就是新定义的数据类型,其中第二个是一个结构体,结构体在go语言中是非常有用的数据类型, ...
- java语法学习问题总结
No.1:EnumTest No.2:Addition 在此程序中,学习了将文本框调用出来,文本框输入的数据都是String类型,所以用于计算时需要先进行转型,然后计算. No.3:TestDoubl ...
- HDU 4349 Xiao Ming's Hope
有这样一个性质:C(n,m)%p=C(p1,q1)*C(p2,q2).......%p,其中pkpk-1...p1,qkqk-1...q1分别是n,m在p进制下的组成. 就完了. #include&l ...
- 数位dp-POJ-3252-Round Numbers
最近一直在看书和博客,即使做出几道题来也是看别人题解写的,感觉没自己的东西,所以很久没更新博客 看了很多数位dp的题和题解,发现数位dp题是有固定的模版的,并且终于自己做出来一道. 我觉得用记忆化搜索 ...
- 【LeetCode】Best Time to Buy and Sell Stock IV
Best Time to Buy and Sell Stock IV Say you have an array for which the ith element is the price of a ...
- iOS 静态库和动态库的区别&静态库的生成
linux中静态库和动态库的区别 一.不同 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. 1. 静态函数库 这类库的名字一般是libxxx.a:利用静态函 ...
- 在Azure中的Ubuntu中安装Open edX
最近,由于工作原因,在Azure上的Ubuntu虚拟机中安装了Open edX 实例,安装过程遇到了不少问题, 在从网上找答案的过程中,学习到了不同的知识. 注:若Ubuntu虚拟机Setup在Glo ...
- 兼容性所有浏览器的透明CSS设置
兼容所有浏览器的透明CSS设置: .transparent_class { filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0. ...