zoukankan      html  css  js  c++  java
  • Ural 2018The Debut Album(DP)

    题目地址:Ural 2018

    简单DP。用滚动数组。

    代码例如以下:

    #include <iostream>
    #include <cstdio>
    #include <string>
    #include <cstring>
    #include <stdlib.h>
    #include <math.h>
    #include <ctype.h>
    #include <queue>
    #include <map>
    #include <set>
    #include <algorithm>
    
    using namespace std;
    #define LL __int64
    const int INF=0x3f3f3f3f;
    const int mod=1e9+7;
    int dp[3][3][400];
    int main()
    {
        int n, a, b, i, j;
        memset(dp,0,sizeof(dp));
        scanf("%d%d%d",&n,&a,&b);
        if(n==1) printf("2
    ");
        else
        {
            dp[1][0][1]=1;
            dp[1][1][1]=1;
            for(i=2; i<=n; i++)
            {
                memset(dp[i&1],0,sizeof(dp[i&1]));
                for(j=1;j<=b;j++)
                {
                    dp[i&1][0][1]+=dp[i+1&1][1][j];
                    if(dp[i&1][0][1]>=mod) dp[i&1][0][1]%=mod;
                    if(j==1) continue ;
                    dp[i&1][1][j]+=dp[i+1&1][1][j-1];
                    if(dp[i&1][1][j]>=mod) dp[i&1][1][j]%=mod;
                }
                for(j=1;j<=a;j++)
                {
                    dp[i&1][1][1]+=dp[i+1&1][0][j];
                    if(dp[i&1][1][1]>=mod) dp[i&1][1][1]%=mod;
                    if(j==1) continue ;
                    dp[i&1][0][j]+=dp[i+1&1][0][j-1];
                    if(dp[i&1][0][j]>=mod) dp[i&1][0][j]%=mod;
                }
            }
            int ans=0;
            for(i=1;i<=a;i++)
            {
                ans+=dp[n&1][0][i];
                if(ans>=mod)
                    ans%=mod;
            }
            for(i=1;i<=b;i++)
            {
                ans+=dp[n&1][1][i];
                if(ans>=mod)
                    ans%=mod;
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
    


  • 相关阅读:
    vim使用基础
    linux基本命令随笔
    linux学习笔记
    中台建设随笔
    数据密集型系统响应优化
    TCP断开连接的问题
    多渠道接入系统总结
    关于实践的认识
    博客说明
    python下载图片的问题思考
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6790381.html
Copyright © 2011-2022 走看看