DP
来源:互联网 发布:python风格指南 pdf 编辑:程序博客网 时间:2024/04/25 08:53
PS: 记忆化搜索
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int N = 105;const int INF = 0x3fffffff;char str[N];int dp[N][N];int path[N][N];bool done[N][N];using namespace std;int bracket(int i, int j) { if(done[i][j]) return dp[i][j]; int ans = INF; if(i > j) return 0; else if(i==j) return 1; else { if((str[i]=='('&&str[j]==')') || (str[i]=='['&&str[j]==']')) { ans = min(ans, bracket(i+1, j-1)); } if(str[i]=='('||str[i]=='[') { ans = min(ans, bracket(i+1, j)+1); } if(str[j]==')'||str[j]==']') { ans = min(ans, bracket(i, j-1)+1); } for(int k = i; k < j; k++) { ans = min(ans, bracket(i, k)+bracket(k+1, j)); } } done[i][j] = true; return dp[i][j] = ans;}int main(){ while(gets(str)) { memset(done, false, sizeof(done)); int n = strlen(str); if(n==0) { printf("\n"); continue; } int ans = bracket(0, n-1); printf("%d\n", ans); } return 0;}/***(([)(]((]][]([(]((([])***/
0 0
- dp
- dp
- dp
- 【DP】
- dp
- dp
- DP
- DP
- DP
- DP
- DP
- dp
- DP
- dp
- DP
- DP
- dp
- DP
- [2010山东省第一届ACM大学生程序设计竞赛]——Shopping
- Android复习之ImageButton
- 黑马程序员—Java语言基础(运算符、代码示例)
- ORACLE物化视图
- Python在Windows平台应用
- DP
- 游戏客户端之cocostudio的动画库
- C++ 求平方根
- 嵌套游标
- [动态规划]UVA10827 - Maximum sum on a torus
- Coins 多重背包
- [2010山东省第一届ACM大学生程序设计竞赛]——Balloons
- C#读取嵌入资源(程序集清单资源)
- 如何画程序流程图