909C - Python Indentation

思路:dp。

http://www.cnblogs.com/Leohh/p/8135525.html

可以参考一下这个博客,我的dp是反过来的,这样就可以边转移边求前缀和,不需要用树状数组优化。

代码:

#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define ll long long
#define mem(a,b) memset(a,b,sizeof(a)) const int N=5e3+;
const int MOD=1e9+;
int dp[N][N];
char c[N];
int main()
{
ios::sync_with_stdio(false);
cin.tie();
int n;
cin>>n;
for(int i=;i<=n;i++)cin>>c[i];
for(int i=;i<n;i++)dp[n][i]=;
for(int i=n-;i>=;i--)
{
int sum=;
for(int j=;j<n;j++)
{
sum=(sum+dp[i+][j])%MOD;
if(c[i]=='f')dp[i][j]=(dp[i][j]+dp[i+][j+])%MOD;
else dp[i][j]=(dp[i][j]+sum)%MOD;
}
}
cout<<dp[][]<<endl;
return ;
}

Codeforces 909C - Python Indentation的更多相关文章

  1. Codeforces 909C Python Indentation:树状数组优化dp

    题目链接:http://codeforces.com/contest/909/problem/C 题意: Python是没有大括号来标明语句块的,而是用严格的缩进来体现. 现在有一种简化版的Pytho ...

  2. Codeforces - 909C - Python Indentation - 简单dp

    http://codeforces.com/problemset/problem/909/C 好像以前做过,但是当时没做出来,看了题解也不太懂. 一开始以为只有上面的for有了循环体,这里的state ...

  3. Codeforces 909 C. Python Indentation (DP+树状数组优化)

    题目链接:Python Indentation 题意: Python是没有大括号来标明语句块的,而是用严格的缩进来体现.现在有一种简化版的Python,只有两种语句: (1)'s'语句:Simple ...

  4. 【Codeforces Round #455 (Div. 2) C】 Python Indentation

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 一个for循环之后. 下一个写代码的地方一是从(x+1,y+1)开始的 然后如果写完了一个simple statement 下次就有 ...

  5. Python Indentation

    In Python, code blocks don't have explicit begin/end or curly braces to mark beginning and end of th ...

  6. Codeforces909C Python Indentation(动态规划)

    http://codeforces.com/problemset/problem/909/C dp[i][j]表示第i行缩进j的方案数. 当第i-1行为f时,无论当前行是f或s都必须缩进,即dp[i] ...

  7. CodeForces 909C

    题意略. 思路: 开始的时候,定义dp[i]:当前行在第i行,i~n有多少种排列方式,如果i为f,那么dp[i] = dp[i + 1],因为第i + 1条语句只能放在f后且向右缩进一位: 如果i为s ...

  8. Codeforces Round #455 (Div. 2)

    Codeforces Round #455 (Div. 2) A. Generate Login 题目描述:给出两个字符串,分别取字符串的某个前缀,使得两个前缀连起来的字符串的字典序在所有方案中最小, ...

  9. CodeForces - 798D Mike and distribution 想法题,数学证明

    题意:给你两个数列a,b,你要输出k个下标,使得这些下标对应的a的和大于整个a数列的和的1/2.同时这些下标对应的b //题解:首先将条件换一种说法,就是要取floor(n/2)+1个数使得这些数大于 ...

随机推荐

  1. pycharm跳到指定的行

    ctrl+g  弹出一个框,输入要跳的行数 ctrl+home  光标移到第一行 ctrl+end 光标移到最后一行

  2. LeetCode-EvaluteReversePolishNotation

    题目: Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are + ...

  3. apache源码安装

    1.apr和apr-util,下载地址: http://apr.apache.org/download.cgi yum install gcc yum install libtool yum inst ...

  4. CAReplicatorLayer

    CAReplicatorLayer CAReplicatorLayer的目的是为了高效生成许多相似的图层.它会绘制一个或多个图层的子图层,并在每个复制体上应用不同的变换.看上去演示能够更加解释这些,我 ...

  5. sql when null 判断

    Sql Server 中使用case when then 判断某字段是否为null,和判断是否为字符或数字时的写法不一样,如果不注意,很容易搞错 错误方法: CASE columnName WHEN ...

  6. Linux服务器---mysql忘记root密码

    忘记root密码 如果不小心忘记了root密码,那么mysql就不能再登录了,这时就要重置root密码才行.通过下面的步骤,我们可以重新设置root密码. 1.退出mysql [root@localh ...

  7. redis删除单个key和多个key,ssdb会落地导致重启redis无法清除缓存

    redis删除单个key和多个key,ssdb会落地导致重启redis无法清除缓存,需要针对单个key进行删除 删除单个:del key 删除多个:redis-cli -a pass(密码) keys ...

  8. PHP读取sphinx 搜索返回结果完整实战实例

    PHP读取sphinx 搜索返回结果完整实战实例 网上搜索N久都没有一个正在读取返回sphinx结果的实例,都是到了matches那里就直接var_dump或者print_r了,没有读取到字段的例子, ...

  9. pdf2swf 中文乱码问题

    准备资料: 1.xpdfbin-win-3.03.zip.xpdf-chinese-simplified.tar.gz 下载地址:http://www.foolabs.com/xpdf/downloa ...

  10. Confluence5.8协作平台软件安装(Linux)

    Confluence5.8协作平台软件安装(Linux) 一.简介 Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki.使用简单,但它强大的编辑和站点管理特征能够帮助团 ...