洛谷P1313 计算系数【快速幂+dp】
P1313 计算系数
题目描述
给定一个多项式(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 = 1;
对于100%的数据,有 0 ≤k ≤1,000,0≤n, m ≤k ,且n + m = k ,0 ≤a ,b ≤1,000,000。
noip2011提高组day2第1题
题目链接:https://www.luogu.org/problemnew/show/P1313
题解:好久没做题了,开坑第一题。。。
最后我们需要求解的结果是ans=dp[k+1][m]*(a^n)*(b^m) mod 10007
这题目首先是组合数,很快我们能够联系到dp相关知识,可以看出来这就是个杨辉三角,我们需要求解的是C(k,m),而我们设置从1开始,所以我们需要求解的最后结果是dp[k+1][m],
做法是dp[i][j]=(dp[i-1][j-1]+dp[i-1][j])%mod;
求解(a^n),(b^m)我们则采用快速幂来进行解决~~~做法如下:
1 ll qpow(ll x,ll p){ 2 ll ret=1; 3 for(;p;p>>=1,x=x*x%mod){ 4 if(p&1){ 5 ret=ret*x%mod; 6 } 7 } 8 return ret; 9 }
最终我们可以写出实现结果:
1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 #define mod 10007 5 ll dp[1010][1010]; 6 ll qpow(ll x,ll p){ 7 ll ret=1; 8 for(;p;p>>=1,x=x*x%mod){ 9 if(p&1){ 10 ret=ret*x%mod; 11 } 12 } 13 return ret; 14 } 15 int main(){ 16 ll a,b,k,n,m; 17 scanf("%lld%lld%lld%lld%lld",&a,&b,&k,&n,&m); 18 for(ll i=1;i<=k+1;i++){ 19 dp[i][0]=1; 20 } 21 for(ll i=1;i<=k+1;i++){ 22 for(ll j=1;j<=m;j++){ 23 dp[i][j]=(dp[i-1][j-1]+dp[i-1][j])%mod; 24 } 25 } 26 ll ans=qpow(a,n)*qpow(b,m)*dp[k+1][m]%mod; 27 printf("%lld\n",ans); 28 return 0; 29 }
您可以考虑给博主来个小小的打赏以资鼓励,您的肯定将是我最大的动力。thx.
微信打赏
支付宝打赏
作 者: Angel_Kitty
出 处:http://www.cnblogs.com/ECJTUACM-873284962/
关于作者:潜心机器学习以及信息安全的综合研究。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击右下角【推荐】推荐一下该博文。您的鼓励是作者坚持原创和持续写作的最大动力!
洛谷P1313 计算系数【快速幂+dp】相关推荐
- 洛谷 P1313 计算系数
题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...
- 洛谷 P1313 计算系数 Label:杨辉三角形 多项式计算
题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...
- 洛谷 P1313 计算系数 —— 水题
题目:https://www.luogu.org/problemnew/show/P1313 不就是...C(k,n) * an * bm . 代码如下: #include<iostream&g ...
- 洛谷P1313 计算系数
有一个公式:二项式定理-- 然后就没了-.. Code: #include<iostream> #include<cstdio> using namespace std; co ...
- 【洛谷P1313 计算系数】
题目连接 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio&g ...
- 洛谷 [P1593 因子和] {快速幂+费马小定理求逆元+求解质因子} 奋斗的珂珂~
题目描述 输入两个整数 a 和 b,求 aba^bab 的因子和. 由于结果太大,只要输出它对 9901 取模的结果. 输入格式 仅一行,为两个整数 a和 b. 输出格式 输出一行一个整数表示答案对 ...
- 欧拉定理(洛谷-P5091)(十进制快速幂实现)
题目描述 给你三个正整数,a,m,b,你需要求:a^b mod m 输入输出格式 输入格式: 一行三个整数,a,m,b 对于全部数据: 1≤a≤10^9 1≤b≤10^{20000000} 1≤m≤1 ...
- 【洛谷P3390】 矩阵快速幂(模板)
贴一下矩阵快速幂的模板 #include<iostream> #include<cstdio> #include<cstring> #include<stri ...
- 洛谷 1313 计算系数——水题
题目:https://www.luogu.org/problemnew/show/P1313 a和b输入进来不是<mod的,所以可以爆int. #include<iostream> ...
最新文章
- mysql内置多个数据存储引擎_一个mysql数据库,既有myisam存储引擎,又有innodb存储引擎,参数如...
- innodb_force_recovery的值意思
- Lambda 表达式详解~深入JVM实现原理
- AJAX淋漓尽致的发挥(Google个性化主页 VS. Windows Live.COM)站在互联网浪尖上窃喜...
- python 向MySQL里插入中文数据
- android fragment面试,Android fragment之间传递数据的方式?
- EBS_FORM_开发:关于切换不同BLOCK的时候弹出需要保存的窗口
- 车控APP发现安全隐患,研究人员模拟黑客入侵
- [Vue]开发环境搭建
- 返回上一页@click=“goBack“
- C/C++ 宏参数名前加#变为字符串
- [美国]《霍比特人2:史矛革之战》[蓝光1080P.720P.中英双字][2013年奇幻动作]
- C# 001 Windows7 WiFi共享大师 共享精灵 自制无广告精简版本
- IT运维的365天--007PC端微信图片不能正常接收发送
- iOS即时通讯之CocoaAsyncSocket源码解析一
- 液晶面板里面有些什么配件_液晶电视的主要部件包括哪些?
- 【python数据可视化笔记】——matplotlib.pyplot()
- 【黑马】Java基础从入门到起飞目录合集
- 烤仔的朋友们 | 手把手教你掌握 DeFi 隐私保护实用技巧
- 中科大-凸优化 笔记(lec25)-等价变换
热门文章
- 《Java 8 in Action》Chapter 12:新的日期和时间API
- Wireshark 3.0.0 正式版发布,免费开源的网络数据包分析软件
- android+屏幕闪烁,屏幕闪烁开始在获取数据之前的Android
- 若依如何配置允许跨域访问?
- dw创建站点本地服务器,在Dreamweaver建立本地虚拟机站点
- linux 目前运行的服务,Linux系统服务
- 命名空间system中不存在data_patternplot包:用ggplot解决你对线性填充,不!所有填充的全部幻想。...
- strchr和strstr函数
- CodeForces - 93B(贪心+vectorpairint,double +double 的精度操作
- python3.7适用的opencv_通过python3.7.3使用openCV截图一个区域