洛谷 P1313 计算系数 解题报告
P1313 计算系数
题目描述
给定一个多项式\((by+ax)^k\),请求出多项式展开后\(x^n*y^m\)项的系数。
输入输出格式
输入格式:
共一行,包含5个整数,分别为\(a,b,k,n,m\),每两个整数之间用一个空格隔开。
输出格式:
共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果。
思路:
由二项式定理得,结果为\(C_k^m*a^n*b^m \ mod \ 10007\)
因为10007是质数,所以我们可以用费马小定理求出阶乘逆元再直接求出\(C_k^m\),\(a,b\)则线性乘过去即可。
Code:
#include <cstdio>
#define ll long long
const ll mod=10007;
ll inv[2],a,b,k,n,m,ans=1,fac=1;
ll quick_pow(ll d,ll t)
{
ll f=1;
while(t)
{
if(t&1)
f=f*d%mod;
d=d*d%mod;
t>>=1;
}
return f;
}
void init()
{
scanf("%lld%lld%lld%lld%lld",&a,&b,&k,&n,&m);
inv[0]=inv[1]=1;
for(int i=1;i<=n;i++)
{
inv[0]=inv[0]*i%mod;
ans=ans*a%mod;
}
for(int i=1;i<=m;i++)
{
inv[1]=inv[1]*i%mod;
ans=ans*b%mod;
}
for(int i=1;i<=k;i++)
fac=fac*i%mod;
inv[0]=quick_pow(inv[0],mod-2);
inv[1]=quick_pow(inv[1],mod-2);
}
void work()
{
ans=ans*fac%mod*inv[0]*inv[1]%mod;
printf("%lld\n",ans);
}
int main()
{
init();
work();
return 0;
}
2018.7.4
洛谷 P1313 计算系数 解题报告的更多相关文章
- 洛谷P1313 计算系数【快速幂+dp】
P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别 ...
- 洛谷P1313 计算系数
P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别 ...
- 洛谷 P1313 计算系数 Label:杨辉三角形 多项式计算
题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...
- 【数论】洛谷P1313计算系数
题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...
- [NOIP2011] 洛谷P1313 计算系数
题目描述 给定一个多项式(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 计算系数
题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...
- 【洛谷P1313 计算系数】
题目连接 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio&g ...
- 洛谷 P1313 计算系数 (二项式定理)
这道题正好复习了二项式定理 所以答案就是a^n * b^m * c(n, k) 然后注意一些细节 我一开始写组合数只写一行的组合数 即c[0] = 1; c[i] = c[i-1] * (n - i ...
随机推荐
- JS对象,获取key和value
var peopleArray=[] var peopleobj={jiangyx: "姜艳霞", yeluosen: "叶落森"} for(let i in ...
- 报错android.view.InflateException: Binary XML file line #11: Attempt to invoke virtual method 'boolean
出现这种问题,打开Android monitor的调试信息发现是 android.view.InflateException: Binary XML file line #11: Attempt to ...
- 【Docker】第五篇 Docker 数据管理
一.基本介绍 数据管理的原因:Docker中的容器一旦删除,容器本身的rootfs文件系统就会被删除,容器中的所有数据就会被删除.为了对一些需要持久化的数据,不随容器删除而删除,所以我们可以通过多个容 ...
- Linux下端口映射工具rinetd
Linux下简单好用的工具rinetd,实现端口映射/转发/重定向官网地址http://www.boutell.com/rinetd 软件下载wget http://www.boutell.com/r ...
- ifconfig命令详情
基础命令学习目录首页 原文链接:https://blog.csdn.net/weixin_37886382/article/details/79716879 许多windows非常熟悉ipconfig ...
- redis使用哈希槽实现集群
Redis Cluster集群 一.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Re ...
- sprint2(第三天)
展板 燃尽图
- 第24次Scrum会议(11/12)【欢迎来怼】
一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文 小组照片 二.开会信息 时间:2017/11/12 17:05~17:32,总计27min. 地 ...
- c#窗体移动与窗体阴影效果
//步骤//1.导入代码//2.事件中添加form_1mousedown函数//3.在load函数中定义AnimateWindow语句,注意有两个引用.//4.DllImport若有错误,按shift ...
- oracle 分页的sql语句
已知有两种方法效率上貌似第一种更优: 1. select * from( select t1.*, rownum n from (select * from cm_log order by oper_ ...