codeforces 909C. Python Indentation
Posted MalcolmMeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeforces 909C. Python Indentation相关的知识,希望对你有一定的参考价值。
动态规划的题目
状态转移方程参考https://www.cnblogs.com/Leohh/p/8135525.html
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> #include<string> #include<vector> #define DEBUG(x) cout<<#x<<" = "<<x<<endl using namespace std; const int MAXN=5e3+10; const int MOD=1e9+7; ///第i个表达式缩进j个单位,有多少种结果 int dp[MAXN][MAXN]; char prg[MAXN]; int main() { // freopen("in.txt","r",stdin); int n; scanf("%d\\n",&n); for(int i=1;i<=n ;i++ ){ scanf("%c\\n",&prg[i]); } dp[1][0]=1; for(int i=2;i<=n ;i++ ){ ///第i行缩进不超过i-1个单位 if(prg[i-1]==\'f\'){ dp[i][0]=0; for(int j=1;j<=i-1 ;j++ ){ dp[i][j]=dp[i-1][j-1]%MOD; } } else { ///从右往左,累计求和 for(int j=i-2;j>=0 ;j-- ){ dp[i][j]=(dp[i][j+1]%MOD+dp[i-1][j]%MOD)%MOD; } } } int ans=0; if(prg[n]==\'s\') for(int i=0;i<=n-1 ;i++ ){ ans=(ans+dp[n][i])%MOD; } printf("%d\\n",ans); }
以上是关于codeforces 909C. Python Indentation的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces - 909C - Python Indentation - 简单dp
Codeforces 909 C. Python Indentation (DP+树状数组优化)
CodeForces 909D Colorful Points