链接

dp好想  根据它定义的 记忆化下就行

路径再dfs一遍 刚开始以为要判空格 所以加了判空格的代码 后来知道不用 。。

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
using namespace std;
#define INF 0xffffff
int dp[][];
char s[],q[];
int dfs(int a,int b)
{
int i,d1,d2 = INF;
if(dp[a][b]!=-)
return dp[a][b];
if(a==b)
return dp[a][b] = ;
if(a>b)
return dp[a][b] = ;
if(s[a]==q[s[b]])
d1 = dfs(a+,b-);
else
{
int x,y;
x = dfs(a+,b)+;
y = dfs(a,b-)+;
d1 = min(x,y);
}
for(i = a ; i < b ; i++)
d2 = min(d2,dfs(a,i)+dfs(i+,b));
dp[a][b] = min(d1,d2);
return dp[a][b];
}
void find(int a,int b)
{
int i;
if(a==b)
{
if(s[a]=='('||s[a]==')')
printf("()");
else if(s[b]=='['||s[a]==']')
printf("[]");
return ;
}
if(a>b)
return ;
if(s[a]==q[s[b]]&&dp[a][b]==dp[a+][b-])
{
if(s[a]=='(')
{
printf("(");
find(a+,b-);
printf(")");
}
else if(s[a]=='[')
{
printf("[");
find(a+,b-);
printf("]");
}
}
else
if(dp[a][b]==(dp[a+][b]+))
{
if(s[a]=='('||s[a]==')')
printf("()");
else if(s[a]=='['||s[a]==']')
printf("[]");
find(a+,b);
}
else
if(dp[a][b]==dp[a][b-]+)
{
find(a,b-);
if(s[b]=='('||s[b]==')')
printf("()");
else if(s[b]=='['||s[b]==']')
printf("[]");
}
else
{
for(i = a ; i < b ; i++)
{
if(dp[a][b]==dp[a][i]+dp[i+][b])
{
find(a,i);
find(i+,b);
break;
}
}
}
}
int main()
{
int k;
q[')'] = '(';
q[']'] = '[';
//q[' '] = ' ';
while(gets(s)!=NULL)
{
memset(dp,-,sizeof(dp));
k = strlen(s);
int ans = dfs(,k-);
find(,k-);
puts("");
}
return ;
}

poj1141Brackets Sequence(dp+路径)的更多相关文章

  1. DP+路径 URAL 1029 Ministry

    题目传送门 /* 题意:就是从上到下,找到最短路,输出路径 DP+路径:状态转移方程:dp[i][j] = min (dp[i-1][j], dp[i][j-1], dp[i][j+1]) + a[[ ...

  2. POJ1015 && UVA - 323 ~Jury Compromise(dp路径)

    In Frobnia, a far-away country, the verdicts in court trials are determined by a jury consisting of ...

  3. Codeforces Round #598 (Div. 3)E(dp路径转移)

    题:https://codeforces.com/contest/1256/problem/E 题意:给一些值,代表队员的能力值,每组要分3个或3个以上的人,然后有个评价值x=(队里最大值-最小值), ...

  4. POJ 1141 Brackets Sequence(DP)

    题目链接 很早 很早之前就看过的一题,今天终于A了.状态转移,还算好想,输出路径有些麻烦,搞了一个标记数组的,感觉不大对,一直wa,看到别人有写直接输出的..二了,直接输出就过了.. #include ...

  5. [poj3017] Cut the Sequence (DP + 单调队列优化 + 平衡树优化)

    DP + 单调队列优化 + 平衡树 好题 Description Given an integer sequence { an } of length N, you are to cut the se ...

  6. poj2264 dp+路径

    //Accepted 208K 0MS //dp //最长公共子序列+路径 #include <cstdio> #include <cstring> #include < ...

  7. Codeforces Round #277 (Div. 2) E. LIS of Sequence DP

    E. LIS of Sequence Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/486/pr ...

  8. URAL1029. Ministry(DP+路径)

    链接 路径麻烦啊 很多细节 倒回去搜一遍 卡了一节数据库.. #include <iostream> #include<cstdio> #include<cstring& ...

  9. [IOI1999]花店橱窗布置(DP路径记录)

    题目:[IOI1999]花店橱窗布置 问题编号:496 题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V ...

随机推荐

  1. Maven3.0 服务器配置搭建

    搭建nexus私服,原因很简单,不必多说,本文重点说下最新版的Maven 3.0.x系列的安装步骤. 最新版的网上中文资料很少,参考后都没成功.最后在官网的英文资料中得到答案,成功搞定. 1.确定我们 ...

  2. 关于XML与类型Class的映射

    我们知道数据的持久化是编程必须面对的问题.我们可以保存数据到数据库.Excel表.XML文件.TXT文件等等.那么我们编程中经常会遇到对Xml文件的操作.在http://www.cnblogs.com ...

  3. InstallShield Custom Dialog

    InstallShield 2008 Screen Layout is designed as below. Use toolbox to edit screen layout. 1> Set ...

  4. 在linux CentOS6上安装web环境

    感谢浏览,欢迎交流=.= 都说linux作为服务器优于window,近期也是学习了下linux. win7下安装了linux虚拟机,购买linux阿里云主机,开启linux之旅. 进入正题,在linu ...

  5. C#基础(七)——静态类与非静态类、静态成员的区别

    静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量.在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例 ...

  6. js调用asp.net 后台属性值

    后台代码: public string title = "js调用后台属性值"; public void getContent() { return title; } 前台代码: ...

  7. Sublime Text 3 配置浏览器预览路径 localhost

    原文链接:http://jingyan.baidu.com/article/15622f2419ce79fdfcbea5ea.html 按步骤设置成功!感谢大侠! 以下是原文: Sublime Tex ...

  8. Python subprocess模块学习总结

    从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如 os.system.os.spawn*.os.popen*.popen2.*.comman ...

  9. 压力测试之apache benchmark

    ab 的全称是 ApacheBench , 是 Apache 附带的一个小工具 , 专门用于 HTTP Server 的 benchmark testing , 可以同时模拟多个并发请求.前段时间看到 ...

  10. JS-------DOM0级事件处理和DOM2级事件处理-------简单记法

    0级DOM 分为2个:一是在标签内写onclick事件  二是在JS写onlicke=function(){}函数 1) <input id="myButton" type= ...