题目链接:http://acm.fzu.edu.cn/problem.php?

pid=2170

贴个baka爷的代码留念。。

数据出的有问题。输入的字符串长度不超过1000

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<map>
#include<queue>
#include<stack>
#include<cmath>
#include<vector>
#define inf 0x3f3f3f3f
#define Inf 0x3FFFFFFFFFFFFFFFLL
#define eps 1e-9
#define pi acos(-1.0)
using namespace std;
typedef long long ll;
const int maxn=1000+2;
const int mod=1000000007;
int dp[maxn][maxn];
char str[maxn<<1];
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
memset(dp,0,sizeof(dp));
scanf("%s",str+1);
dp[0][0]=1;
int k;
for(int i=0;i<=n;++i)
for(int j=0;j<=n;++j)
{
if(!dp[i][j]) continue;
k=i+j+1;
if((i&1)&&(j&1))
{
if(str[k]=='B')
{
dp[i][j+1]+=dp[i][j];
dp[i+1][j]+=dp[i][j];
if(dp[i][j+1]>=mod) dp[i][j+1]-=mod;
if(dp[i+1][j]>=mod) dp[i+1][j]-=mod;
}
}
else if(i&1)
{
if(str[k]=='W')
{
dp[i][j+1]+=dp[i][j];
if(dp[i][j+1]>=mod) dp[i][j+1]-=mod;
}
else
{
dp[i+1][j]+=dp[i][j];
if(dp[i+1][j]>=mod) dp[i+1][j]-=mod;
}
}
else if(j&1)
{
if(str[k]=='W')
{
dp[i+1][j]+=dp[i][j];
if(dp[i+1][j]>=mod) dp[i+1][j]-=mod;
}
else
{
dp[i][j+1]+=dp[i][j];
if(dp[i][j+1]>=mod) dp[i][j+1]-=mod;
} }
else
{
if(str[k]=='W')
{
dp[i][j+1]+=dp[i][j];
dp[i+1][j]+=dp[i][j];
if(dp[i][j+1]>=mod) dp[i][j+1]-=mod;
if(dp[i+1][j]>=mod) dp[i+1][j]-=mod;
} }
}
int ans=dp[n][n];
printf("%d\n",ans);
}
return 0;
}

FOJ 2170 花生的序列 dp的更多相关文章

  1. 2014 Super Training #10 D 花生的序列 --DP

    原题: FZU 2170 http://acm.fzu.edu.cn/problem.php?pid=2170 这题确实是当时没读懂题目,连样例都没想通,所以没做了,所以还是感觉这样散漫的做不好,有些 ...

  2. FZU 2170 花生的序列(动态规划)

    动态规划,转移方程为 dp[i][j] = (dp[i-1][j]+dp[i][j-1])%MOD,定义还是比较裸的,讨论一下就可以了 #include <iostream> #inclu ...

  3. 72. Edit Distance(困难,确实挺难的,但很经典,双序列DP问题)

    Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...

  4. [OpenJudge90][序列DP+乱搞]滑雪

    滑雪 总时间限制: 1000ms 内存限制: 65536kB [描述] Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次 ...

  5. 序列DP(输出有要求)

    DP Time Limit:10000MS     Memory Limit:165888KB     64bit IO Format:%lld & %llu Submit Status De ...

  6. hdoj5909 Tree Cutting(点分治+树上dp转序列dp)

    题目链接:https://vjudge.net/problem/HDU-5909 题意:给一颗树,结点带权值v[i]<m.求异或和为k的子树个数(0<=k<m). 思路: 首先点分治 ...

  7. 一类巧妙利用利用失配树的序列DP

    I.导入 求长度为\(\text{len}\)的包含给定连续子串\(\text{T}\)的 0/1 串的个数.(\(|T|<=15\)) 通常来说这种题目应该立刻联想到状压 DP 与取反集--这 ...

  8. 洛谷P1415 拆分数列[序列DP 状态 打印]

    题目背景 [为了响应党中央勤节俭.反铺张的精神,题目背景描述故事部分略去^-^] 题目描述 给出一列数字,需要你添加任意多个逗号将其拆成若干个严格递增的数.如果有多组解,则输出使得最后一个数最小的同时 ...

  9. UVA - 1625 Color Length[序列DP 代价计算技巧]

    UVA - 1625 Color Length   白书 很明显f[i][j]表示第一个取到i第二个取到j的代价 问题在于代价的计算,并不知道每种颜色的开始和结束   和模拟赛那道环形DP很想,计算这 ...

随机推荐

  1. tweenanim动画

    1.视图 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too ...

  2. js 中 字符串的转换

    JS 中将 number 转换为 string 我们比较熟悉,直接用toString() 的方法就可以了:那么将 string 转换成为 number 都有些什么方法呢?如下便简单的列举了一些,以便记 ...

  3. webform之session传值(临时数据的存储)与扩展属性 --(购物车练习)

    页面传值:1.QueryString传值在源页面写:Response.Redirect("Main.aspx?uid="+uid+"&pwd="+pwd ...

  4. Ext.net.DirectMethods

    http://www.ext.net.cn/forum.php?mod=viewthread&tid=1282&highlight=directmethod DirectMethod ...

  5. bzoj 1030-1039

    1030 JSOI2007 文本生成器 AC自动机加DP即可. 1031 JSOI2007 字符加密Cipher 后缀数组即可. 1032 JSOI2007 祖码Zuma 数据有问题. 设\(f(l, ...

  6. 怎样让js不产生冲突,避免全局变量的泛滥,合理运用命名空间

    为了避免变量之间的覆盖与冲突.能够生成命名空间.命名空间是一种特殊的前缀,在js中,通过{ }对象实现. 在不同的匿名函数中,依据功能声明一个不同的命名空间,每一个匿名函数中GLOBAL对象的属性都不 ...

  7. Libgdx环境搭建及介绍

    Libgdx简单介绍: libgdx是一个跨平台的2D/3D的游戏开发框架,它由Java/C/C++语言编写而成.ibgdx兼容大多数微机平台(标准JavaSE实现,能执行在Mac.Linux.Win ...

  8. 数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)

    我们来看一个灰度图像,让表示灰度出现的次数,这样图像中灰度为 的像素的出现概率是  是图像中全部的灰度数, 是图像中全部的像素数,  实际上是图像的直方图,归一化到 . 把  作为相应于  的累计概率 ...

  9. 开发板和centos服务器tftp传文件

    CentOS下使用TFTP向目标板传送文件http://www.linuxidc.com/Linux/2010-10/29218.htm 1.安装相关软件包 为了使主机支持TFTP,必须确保TFTP后 ...

  10. C# webBrowser操作 javascript

    using System; using System.Windows.Forms; namespace Demo { public partial class Form1 : Form { publi ...