区间dp,枚举走完第一个子树之后回到根节点的位置。

 /*by SilverN*/
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<vector>
using namespace std;
const int mod=1e9;
const int mxn=;
int read(){
int x=,f=;char ch=getchar();
while(ch<'' || ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>='' && ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
char s[mxn];
int f[mxn][mxn];
int main(){
int i,j;
while(scanf("%s",s+)!=EOF){
int n=strlen(s+);
memset(f,,sizeof f);
for(i=;i<=n;i++)f[i][i]=;
for(int st=;st<=n;st++){
for(i=;i<=n;i++){
j=i+st-;if(j>n)break;
if(s[i]==s[j]){
for(int k=i+;k<=j;k++){
if(s[k]==s[i]){
f[i][j]=((long long)f[i][j]+((long long)f[i+][k-]*f[k][j])%mod)%mod;
}
}
}
}
}
printf("%d\n",f[][n]);
}
return ;
}

最新文章

  1. sublime3 配置node build环境
  2. UESTC 901 方老师抢银行 --Tarjan求强连通分量
  3. Centos修改镜像为国内的163源
  4. Uva 1218 完美的服务
  5. websocket++编译过程
  6. 【转】让itunes下载加速的真正办法,转向至香港台湾澳门苹果服务器 -- 不错不错!!!
  7. Chrome使用小技巧-多用户登录、直接打开隐身模式窗口
  8. Nginx详解四:Nginx基础篇之目录和配置语法
  9. 剑指offer——python【第21题】栈的压入、弹出序列
  10. js中,object可以调用style对象,[]不可以调用style对象
  11. 编程开发(C/C++&amp;Java&amp;Python&amp;JavaScript&amp;Go&amp;PHP&amp;Ruby&amp;Perl&amp;R&amp;Erlang)
  12. HTML图片标签
  13. Linux的计划任务
  14. cx_Oracle在sublime text里运行遇到 ImportError错误解决办法
  15. react项目总结
  16. 小试牛刀之Django
  17. 利用JS 在网页上获取并显示当前日期 星期
  18. 当一个SQL语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序
  19. ReentrantLock锁 源码分析
  20. graph-bfs-八数码问题

热门文章

  1. java,求1-100之和。
  2. AutoLayout处理UITableView动态高度
  3. Seek and Destroy-freecodecamp算法题目
  4. 扫雷游戏 NOIP(入门)
  5. Spring AOP注解形式简单实现
  6. linux文件属性之linux文件删除原理
  7. Python语言的简介
  8. 跟踪路由 tracert
  9. QT入门学习笔记1:为什么要选QT及QT软件下载
  10. python-matplotlib-lec0