这道题只要肯动手还是挺水的

进入正题

我们先枚举几个找找规律(这里先省略x,y):

k = 0 :\(1\)

k = 1 : \(a\) \(b\)

k = 2 : \(a^{2}\) \(2ab\) \(b^{2}\)

k = 3 : \(a^{3}\) \(3a^{2}b\) \(3ab^{2}\) \(b^{3}\)

.......

去掉\(a\)和\(b\),就能发现他就是个杨辉三角,那我们就可以先预处理好杨辉三角(也可以打表)

我们继续观察,杨辉三角上是要乘上\(a\)和\(b\)的,现在我们就要找该怎么乘了;观察次数,\(a\)的次数是\(n\)的大小,\(b\)也是\(m\)的大小,那么就可以先把\(a\),\(b\)乘方后的数乘到他们对应的杨辉三角的数;至于乘方,我用的快速幂,其实爆乘应该也可以,看喜好吧,只要每次都\(%\)去哪个规定的数就行了(没试过鸭)

说了这么多,我们还没确定他们的位置,观察,由于杨辉三角的第一排其实不为\(1\),所以对应的行数也就是\(k+1\)了,在确定列,可以发现,其实就是\(m+1\);现在,就做出来啦


接下来就是蒟蒻的代码啦!

#include <bits/stdc++.h>
using namespace std;
long long a/*x*/ , b/*y*/ , k , m/*y*/ , n/*x*/ , mo = 10007 , ans; //标记好对应的字母,以防带错值了
long long ret = 1; //快速幂的答案
long long f[10011][10011]; //杨辉三角
int main(){
f[1][1] = 1; //杨辉三角的第一行为1,后面才好算嘛
for(int i = 2; i <= 1005; i++) //数据最大为1000,所以1000多就够了
for(int j = 1; j <= i; j++)
f[i][j] = (f[i - 1][j - 1] % mo + f[i - 1][j] % mo) % mo; //每一步都%,以防答案太大
cin >> a >> b >> k >> n >> m;
ans = f[k + 1][m + 1]; //答案初始化了
while(n){ //快速幂~~~
if(n % 2 == 1) ret = ret * a % mo;
n /= 2;
a = a * a % mo;
}
ans *= ret % mo;
ret = 1; //上一个用完就要初始化了
while(m){
if(m % 2 == 1) ret = ret * b % mo;
m /= 2;
b = b * b % mo;
}
ans *= ret % mo;
cout << ans % mo;
return 0;
}

就这么多啦,溜了溜了

洛谷 P1313 【计算系数】的更多相关文章

  1. 洛谷P1313 计算系数【快速幂+dp】

    P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别 ...

  2. 洛谷 P1313 计算系数 解题报告

    P1313 计算系数 题目描述 给定一个多项式\((by+ax)^k\),请求出多项式展开后\(x^n*y^m\)项的系数. 输入输出格式 输入格式: 共一行,包含5个整数,分别为\(a,b,k,n, ...

  3. 洛谷P1313 计算系数

    P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别 ...

  4. 洛谷 P1313 计算系数 Label:杨辉三角形 多项式计算

    题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...

  5. 【数论】洛谷P1313计算系数

    题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...

  6. [NOIP2011] 洛谷P1313 计算系数

    题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...

  7. 洛谷 P1313 计算系数 —— 水题

    题目:https://www.luogu.org/problemnew/show/P1313 不就是...C(k,n) * an * bm . 代码如下: #include<iostream&g ...

  8. 洛谷 P1313 计算系数

    题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...

  9. 【洛谷P1313 计算系数】

    题目连接 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio&g ...

  10. 洛谷 P1313 计算系数 (二项式定理)

    这道题正好复习了二项式定理 所以答案就是a^n * b^m * c(n, k) 然后注意一些细节 我一开始写组合数只写一行的组合数 即c[0] = 1; c[i] = c[i-1] * (n - i ...

随机推荐

  1. Java实现 蓝桥杯 算法训练 纪念品分组

    问题描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值 相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价 ...

  2. Java实现 LeetCode 96 不同的二叉搜索树

    96. 不同的二叉搜索树 给定一个整数 n,求以 1 - n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 ...

  3. Java实现 LeetCode 53 最大子序和

    53. 最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 ...

  4. Java实现 LeetCode 44 通配符匹配

    44. 通配符匹配 给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 '?' 和 '*' 的通配符匹配. '?' 可以匹配任何单个字符. '*' 可以匹配任意字符串(包括空字符串). 两个字 ...

  5. Java中环境变量PATH与CLASSPATH的区别

    在安装JDK时需要添加环境变量,经常使用的环境变量有两个: PATH与CLASSPATH 下面总结一下环境变量的作用. PATH是系统用来指定可执行文件的完整路径.当在CMD中执行命令时,如果执行的可 ...

  6. vi命令总结

    VI常用技巧 ​ VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐 ...

  7. python—异常处理

    一:什么是异常? (异常就是程序运行时发生错误的信号) 错误分两种: 1.语法错误 2.逻辑错误 二:异常的种类? (在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类 ...

  8. iOS-MapKit的使用笔记

    对于地图和定位,苹果公司提供给了两个框架: MapKit:用于地图展示 Core Location :用于地理定位 这次总结MapKit:       同样,在使用MapKit时首先要导入头文件: 与 ...

  9. iOS -NSOperation——高级的并发处理方法

    NSOperation是Objective-C中一种高级的并发处理方法,现在对GCD的封装;功能比GCD更强大! 两个概念      操作:      操作队列:      NSOperation多线 ...

  10. iOS -UIColor随机生成颜色的方法

    在iOS 中的UIColor拥有这么多关于颜色的类方法,对于一般常见的UI控件,我们可以通过[UIColorblackColor]设置背景色 eg:设置button 的背景色为红色 UIButton ...