【基础练习】【组合数+快速幂】codevs1137 计算系数题解

非常简单的一道题目 可是编译器总是出问题= =

转载请注明出处 CSDN ametake版权所有

题目

题目描述 Description

给定一个多项式(ax + by)^k,请求出多项式展开后x^n y^m项的系数。

输入描述 Input Description

共一行,包含 5 个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开。

输出描述 Output Description

输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果。

样例输入 Sample Input

1 1 3 1 2

样例输出 Sample Output

3

数据范围及提示 Data Size & Hint

数据范围

对于 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。

直接上代码

——休对故人思故国,且将新火试新茶。诗酒趁年华。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 22:51:14

【基础练习】【组合数+快速幂】codevs1137 计算系数题解的相关文章

codevs1137 计算系数

1137 计算系数 2011年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 给定一个多项式(ax + by)^k,请求出多项式展开后x^n y^m项的系数. 输入描述 Input Description 共一行,包含 5 个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开. 输出描述 Output Description 输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,

luoguP1313 计算系数 题解(NOIP2011)

P1313 计算系数 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #include<iomanip> #include<ctime> #include<queue> #include<stack> #define

luogu1313计算系数题解--二项式定理

题目链接 https://www.luogu.org/problemnew/show/P1313 分析 二项式定理 \((a+b)^n=\sum_{k=0}^{n}{C^k_n a^k b^{n-k} }\) 于是我们要求的即是\(C^k_n \times a^n \times b^m\),于是直接快速幂,然后按公式\(C^k_n=\frac {n!}{(n-k)! \times k!}\),化成\(\prod_{i=k+1}^{i<=n} i \times ((n-k)!)^{-1}\) 代码

Light OJ 1318 Strange Game 组合数+快速幂+分解因子

长度为l的用k种字符组成的字符串有k^l中 其中m个字符要不相同 那就是k^l*C(l, m)*(k-1)^m 有重复 要除以2 但是你mod n了 不能直接除 n不一定是素数 所以不能乘以逆元 所以我都mod 2倍的n 最后的结果再除以2 特判l = 1 和 m = 0的情况 #include <cstdio> #include <cstring> #include <cmath> using namespace std; typedef long long LL;

洛谷 P1313 计算系数 题解

此文为博主原创题解,转载时请通知博主,并把原文链接放在正文醒目位置. 题目链接:https://www.luogu.org/problem/show?pid=1313 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k ,n ,m,每两个整数之间用一个空格隔开. 输出格式: 输出共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007

hdu 5667 Sequence 矩阵快速幂

题目链接:hdu 5667 Sequence 思路:因为fn均为a的幂,所以: 这样我们就可以利用快速幂来计算了 注意: 矩阵要定义为long long,不仅仅因为会爆,还会无限超时 要对a%p==0特判,以为可能出现指数%(p-1)==0的情况,那么在快速幂的时候返回的结果就是1而不是0了 /************************************************************** Problem:hdu 5667 User: youmi Language:

矩阵快速幂

在遇到一些递推式时,如果我们直接按公式一步步进行运算,效率较低.构造矩阵进行快速运算,可以高效地解决这个问题. 以int型方阵为例: 矩阵结构: struct Mat{ int mat[n][n]; }; 矩阵乘法: Mat mul(Mat a,Mat b) { Mat ret; memset(ret,0,sizeof(ret)); for(int i = 0; i<n; ++i) for(int j = 0; j<n; ++j) for(int k = 0; k<n; ++k) ret

BNUOJ 34985 Elegant String 2014北京邀请赛E题 动态规划 矩阵快速幂

Elegant String Time Limit: 1000msMemory Limit: 65536KB 64-bit integer IO format: %lld      Java class name: Main We define a kind of strings as elegant string: among all the substrings of an elegant string, none of them is a permutation of "0, 1,-, k

hdu5564--Clarke and digits(数位dp+矩阵快速幂)

// hdu 5564 // 考虑dp,令d(i,j,k)表示长度为i第i位为j余数为k的方案数 // 则d(1,j,j%7) = 1, 0<j<10 d(i+1,x,(k*10+x)%7)+=d(i,j,k) // 发现转移相同,所以我们用矩阵快速幂来计算即可. // dp[k][j] 首位为j 余数为k的方案数 // 把dp写成一维 dp[k*10+j] #include <bits/stdc++.h> using namespace std; typedef long lon