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

进入正题

我们先枚举几个找找规律(这里先省略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实现 蓝桥杯VIP 算法提高 字符串跳步

    问题描述 给定一个字符串,你需要从第start位开始每隔step位输出字符串对应位置上的字符. 输入格式 第一行一个只包含小写字母的字符串. 第二行两个非负整数start和step,意义见上. 输出格 ...

  2. Android中如何使用对话框(单选对话框和多选对话框)

    在主XML中声明两个Button,声明Id package com.example.myapplication; import androidx.appcompat.app.AlertDialog; ...

  3. Java实现哥德巴赫猜想

    验证哥德巴赫猜想:任何一个大于 6 的偶数,都能分解成两个质数的和.要求输入一个整数,输出这个 数能被分解成哪两个质数的和. eg : 14 14=3+11 14=7+7 public class T ...

  4. java创建透明背景的PNG图片加自定义文字水印

    人在码上走,需求天天有.这不,今天前端让我返回一个带自定义水印的背景图片.一通google,有现成的代码,但是基本是直接在源图上添加水印,生成出来的文字样式也没有控制好,看来又只有自己造轮子了. 过程 ...

  5. Java 多线程基础(一)基本概念

    Java 多线程基础(一)基本概念 一.并发与并行 1.并发:指两个或多个事件在同一个时间段内发生. 2.并行:指两个或多个事件在同一时刻发生(同时发生). 在操作系统中,安装了多个程序,并发指的是在 ...

  6. CSS中的百分比(%)如何使用???

    除了height以外垂直方向上的margin-top(bottom)或者padding-top(bottom)的百分比取值都是相对于父元素的宽度 在默认的content-box盒模型下元素的width ...

  7. Centos7 安装 redis6 的部分问题总结

    首先把redis.tar.gz 解压到你想要的路径 检查一下安装环境: yum -y install gcc yum -y install epel-release 执行 make 和 make in ...

  8. @loj - 2106@ 「JLOI2015」有意义的字符串

    目录 @description@ @solution@ @accepted code@ @details@ @description@ B 君有两个好朋友,他们叫宁宁和冉冉.有一天,冉冉遇到了一个有趣 ...

  9. 获取随机User-Agent的请求头

    ''' 获取随机User-Agent的请求头 ''' import random #用户代理User-Agent列表 USER_AGENTS = [ "Mozilla/5.0 (Macint ...

  10. MQ系列(0)——MQ简介

    mq简介 mq 就是消息队列(Message Queue).想必大家对队列的数据结构已经很熟悉了,消息队列可以简单理解为:把要传输的数据放在队列中,mq 就是存放和发送消息的这么一个队列中间件.在消息 ...