洛谷 P1313 计算系数 dp计算多项式系数

洛谷 P1313 计算系数 dp计算多项式系数

思路:

f [i][j]表示xiyj的系数,(默认k=i+j),可以得到转移方程:
f[i][j]=f[i-1][j]*a+f[i][j-1]*b

代码如下:

#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<cmath>
#include<string>
#include<vector>
#define MAX 500005
typedef long long ll;
using namespace std;

int a,b,k,n,m;
long long f[1005][1005];
int main(){
    scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);
    f[0][0]=1;//注意f[0][0]=1
    for(int i=0;i<=n;i++)
        for(int j=0;j<=m;j++){
            if (i==0&&j==0) continue;
            f[i][j]=0;
            if (i>0)
                f[i][j]=(f[i][j]+f[i-1][j]*a)%10007;
            if (j>0)
                f[i][j]=(f[i][j]+f[i][j-1]*b)%10007;
        }
    printf("%lld\n",f[n][m]);
    return 0;
}
发布了253 篇原创文章 · 获赞 15 · 访问量 7981

猜你喜欢

转载自blog.csdn.net/weixin_44123362/article/details/103915208