首页 > 其他 > 详细

爱喝「肥宅快乐水」的班长

时间:2019-08-10 22:17:42      阅读:120      评论:0      收藏:0      [点我收藏+]

爱喝「肥宅快乐水」的班长

太菜了==,签到题看半天不会===

可以用插板法

写了个dp

一共需要买 $n$ 瓶饮料。而在云闪付在线商城上,一共有 $m$ 种不同的饮料(包括「肥宅快乐水」,并假设云闪付在线商城上的每种饮料的购买数量都没有限制)。由于码队的弟弟喜欢喝「肥宅快乐水」,所以这两名同学决定至少要买一瓶「肥宅快乐水」。

这样看来,饮料购买的方案实在是太多了!两位同学突发奇想,想让你帮忙计算:总共有多少种购买饮料的方案。(答案对 $10^9 + 7$ 取模,同种饮料都是一样的,不作区分。)

#include<bits/stdc++.h>
typedef long long ll;
#define P pair<ll,ll>
#define sc(x) scanf("%lld",&x);
using namespace std;
#define endl ‘\n‘
#define read(A) for(int i=0;i<n;i++) scanf("%lld",&A[i]);
#define maxn 100005
int N,T;
const ll mod=1e9+7;
ll dp[1005][1005];
ll pre[1005];
void init()
{
    for(int i=1; i<=1000; i++)
        dp[i][1]=1,pre[i]=(pre[i-1]+dp[i][1])%mod;
    for(int j=2;j<=1000;j++){
        for(int i=1;i<=1000;i++){
            dp[i][j]=pre[i];
            pre[i]=(pre[i-1]+dp[i][j])%mod;
        }
    }
}

int main()
{
    init();
    sc(T);

    ll n,m;
    while(T--){
        sc(n);sc(m);
        cout<<dp[n][m]<<\n;
    }
}

 

爱喝「肥宅快乐水」的班长

原文:https://www.cnblogs.com/liulex/p/11333057.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!