//Accepted    176 KB    47 ms
 //感谢大神们为我们这群渣渣铺平前进的道路!!
 //用scanf("%s",s)!=EOF  WA到死
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 using namespace std;
 ;
 ;
 char s[imax_n];
 int dp[imax_n][imax_n];
 int n;
 int min(int a,int b)
 {
     return a<b?a:b;
 }
 int isMatch(char ch1,char ch2)
 {
     ;
     ;
     ;
 }
 void Dp()
 {
     memset(dp,,sizeof(dp));
     ;i<=n;i++)
     {
         dp[i][i]=;
     }
     ;i<n;i++)
     {
         ],s[i])) dp[i][i+]=;
         else
         dp[i][i+]=;
     }
     ;l<=n;l++)
     {
         ;i<=n;i++)
         {
             ;
             if (j>n) break;
             dp[i][j]=inf;
             ],s[j-])) dp[i][j]=dp[i+][j-];
             ]==]==][j]+);
             ]==]==]+);
             for (int k=i;k<j;k++)
             dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+][j]);
         }
     }
 }
 void output(int i,int j)
 {
     //printf("s[%d]=%c,s[%d]=%c\n",i,s[i-1],j,s[j-1]);
     if (i>j) return ;
     )
     {
         for (int k=i;k<=j;k++)
         printf(]);
         return ;
     }
      && i==j)
     {
         ]==]==')')
         printf("()");
         ]==]==']')
         printf("[]");
         return ;
     }
     ][j-] && isMatch(s[i-],s[j-]))
     {
         printf(]);
         output(i+,j-);
         printf(]);
         return ;
     }
     ][j]+ && (s[i-]==]=='['))
     {
         printf(]);
         output(i+,j);
         ]=='(')
         printf(")");
         else
         printf("]");
         return ;
     }
     ]+ && (s[j-]==]==']'))
     {
         ]==')')
         printf("(");
         else
         printf("[");
         output(i,j-);
         printf(]);
         return ;
     }
     for (int k=i;k<j;k++)
     ][j])
     {
         output(i,k);
         output(k+,j);
         return ;
     }
     return ;
 }
 int main()
 {
     //while (cin>>s)
     {
         scanf("%s",s);
         n=strlen(s);
         Dp();
         output(,n);
         printf("\n");
     }
     ;
 }

poj1141 区间dp+路径的更多相关文章

  1. UVA 1626 区间dp、打印路径

    uva 紫书例题,这个区间dp最容易错的应该是(S)这种匹配情况,如果不是题目中给了提示我就忽略了,只想着左右分割忘记了这种特殊的例子. dp[i][j]=MIN{dp[i+1][j-1] | if( ...

  2. 区间dp模型之括号匹配打印路径 poj(1141)

    题目链接:Brackets Sequence 题目描写叙述:给出一串由'(')'' [ ' ' ] '组成的串,让你输出加入最少括号之后使得括号匹配的串. 分析:是区间dp的经典模型括号匹配.解说:h ...

  3. POJ 1141 Brackets Sequence(区间DP, DP打印路径)

    Description We give the following inductive definition of a “regular brackets” sequence: the empty s ...

  4. 区间dp总结篇

    前言:这两天没有写什么题目,把前两周做的有些意思的背包题和最长递增.公共子序列写了个总结.反过去写总结,总能让自己有一番收获......就区间dp来说,一开始我完全不明白它是怎么应用的,甚至于看解题报 ...

  5. Tinkoff Challenge - Elimination Round D. Presents in Bankopolis(区间DP)

    http://codeforces.com/contest/793/problem/D 题意:给出一些点和他们之间的距离,是有向的,这些点从1~n顺序排列,现在选出k个点组成一条路径,使他们之间的距离 ...

  6. 区间DP的摸索

    (poj真的炸了,以下代码可能有误) 按照下面这个做题顺序,对区间DP不再那么迷了 LOJ1422 是 dp[i][j]=min(dp[i][j],dp[i+1][k-1]+dp[k][j])而不是d ...

  7. 区间DP 青蛙的烦恼

    池塘中有n片荷叶恰好围成了一个凸多边形,有一只小青蛙恰好站在1号荷叶上,小青蛙想通过最短的路程遍历所有的荷叶(经过一个荷叶一次且仅一次),小青蛙可以从一片荷叶上跳到另外任意一片荷叶上. 输入数据(fr ...

  8. 区间DP UVA 10453 Make Palindrome

    题目传送门 /* 题意:问最少插入多少个字符使得字符串变成回文串 区间DP:dp[i][j]表示[l, r]的字符串要成为回文需要插入几个字符串,那么dp[l][r] = dp[l+1][r-1]; ...

  9. 洛谷 P1220 关路灯 (贪心+区间dp)

    这一道题我一直在想时间该怎么算. 看题解发现有个隐藏的贪心. 路径一定是左右扩展的,左右端点最多加+1(我竟然没发现!!) 这个性质非常重要!! 因此这道题用区间dp f[i][j]表示关完i到j的路 ...

随机推荐

  1. 【bzoj1019】汉诺塔

    [bzoj1019]汉诺塔 题意 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1019 分析 思路1:待定系数+解方程 设\(f[n]\)为 ...

  2. C# Socket编程(1)基本的术语和概念

    计算机程序能够相互联网,相互通讯,这使一切都成为可能,这也是当今互联网存在的基础.那么程序是如何通过网络相互通信的呢?这就是我记录这系列的笔记的原因.C#语言从一开始就是为了互联网而设计的,它为实现程 ...

  3. WCF技术剖析之二:再谈IIS与ASP.NET管道

    原文地址:http://www.cnblogs.com/artech/archive/2009/06/20/1507165.html 在2007年9月份,我曾经写了三篇详细介绍IIS架构和ASP.NE ...

  4. 3D正方体

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. html 标签总结

    <q>标签,短文本引用 例如“聪明秀出为之英,胆略过人为之雄.” <blockquote>标签,长文本引用 <blockquote>标签的解析是缩进样式. 没有HT ...

  6. Qt之模拟时钟

    简述 Qt自带的示例中有一个是关于时钟,演示了如何用QPainter的转换和缩放特性来绘制自定义部件. 其中主要包含了时针.分针的绘制,并不包含秒针.下面,我们在原示例的基础上进行扩展. 简述 实现方 ...

  7. iOS的常见文件及程序的启动原理

    一. iOS中常见文件 (一). Xcode6之前 创建项目,默认可以看见一个存放框架的文件夹 info文件以工程文件名开头,如:第一个项目-Info.plist 项目中默认有一个PCH文件 (二). ...

  8. [转载]SAP BASIS学习手册

    原文地址:SAP BASIS学习手册作者:sapren     1:)要用scc4定义一个新的client,同时定义好类型(T,P,D等) 2:)用user/pasword: (sap*/pass) ...

  9. 平衡查找树之B树

    转自:http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html 定义 B 树可以看作是对2-3查找树的一种扩展,即 ...

  10. 声明式编程——抽象程度更高,关注是什么(what),而非如何做(how)

    CSDN:AngularJS的设计理念是什么?灵感来自于什么? Misko:AngularJS遵循的设计理念是--构建UI应该是声明式的.这也是AngularJS中标识符(directives)想法的 ...