链接

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. C# .NET 获取枚举值的自定义属性(特性/注释/备注)信息

    一.引言 枚举为我看日常开发的可读性提供的非常好的支持,但是有时我们需要得到枚举值得描述信息或者是注释(备注)信息 比如要获得 TestEmun.aaa 属性值得备注 AAA,比较不方便得到. pub ...

  2. flexbox布局模式-- 浅谈

    简介 Flexbox,一种CSS3的布局模式,也叫做弹性盒子模型,用来为盒装模型提供最大的灵活性.今天主要从以下几个方面简单谈谈flex. 1 版本更迭 2 flex容器 3 flex项目 4 fle ...

  3. java集合 collection-list-vector

    import java.util.*; /* 枚举就是Vector特有的取出方式. 发现枚举和迭代器很像. 其实枚举和迭代是一样的. 因为枚举的名称以及方法的名称都过长. 所以被迭代器取代了. 枚举郁 ...

  4. Hdu 1042 N! (高精度数)

    Problem Description Givenan integer N(0 ≤ N ≤ 10000), your task is to calculate N! Input OneN in one ...

  5. POJ 1050 To the Max -- 动态规划

    题目地址:http://poj.org/problem?id=1050 Description Given a two-dimensional array of positive and negati ...

  6. 解决在管理wordpress时权限不足的问题

    我的wordpress网站的运行环境是自己手动搭建的lamp环境,在管理wordpress时经常遇到因没有足够的权限而无法执行某些操作.在linux上的权限不足的问题无外乎有两个原因,一个是wordp ...

  7. iOS网络编程总结

    好长时间没有进行更行了,最近学到AFNetworking框架,在学习完成之后做出一个总结 1.第三方网络的框架 AFNEtworking使用简单,对最新的iOS特性都有很好的支持,对NSURL进行了封 ...

  8. AVFoundation 初识

    AVFoundation是苹果 OS X系统和 iOS系统中用于处理基于时间的媒体数据的高级Objective-C框架. iOS中 AVFoundation 在整个体系中所处的角色

  9. Open CASCADE 基础类(Foundation Classes)

    1 介绍(Introduction) 1 如何使用Open CASCADE技术(OCCT)基础类. This manual explains how to use Open CASCADE Techn ...

  10. ASP.NET MVC Razor视图(2)

    昨天介绍了一些Razor的基本语法,几天接着向下说: 补成一个,上次介绍了怎么输出原样的文本,用<text></text>标签,下面再介绍一种语法: @{@:我爱北京}  这个 ...