http://poj.org/problem?id=2955

题意:给出一串字符,求括号匹配的数最多是多少。

思路:区间DP。

对于每个枚举的区间边界,如果两边可以配对成括号,那么dp[i][j] = dp[i+1][j-1] + 2,表示由上一个状态加上当前的贡献。

然后和普通的区间合并一样去更新。

 #include <cstring>
#include <cstdio>
#include <iostream>
#include <string>
using namespace std;
#define N 105
int dp[][];
string s; int main() {
while(cin >> s) {
if(s == "end") break;
int n = s.length();
memset(dp, , sizeof(dp));
for(int len = ; len < n; len++) {
for(int i = ; i + len < n; i++) {
int j = i + len;
if(s[i] == '(' && s[j] == ')' || s[i] == '[' && s[j] == ']') dp[i][j] = + dp[i+][j-];
for(int k = i; k < j; k++)
if(dp[i][j] < dp[i][k] + dp[k+][j]) dp[i][j] = dp[i][k] + dp[k+][j];
}
}
printf("%d\n", dp[][n-]);
}
return ;
}

最新文章

  1. centos 7.0 安装nginx 1.117
  2. 【2016-11-2】【坚持学习】【Day17】【通过反射自动将datareader转为实体info】
  3. php 获取中文长度 截取中文字符串
  4. Windows—JDK安装与环境变量配置
  5. decode_json 必须是unicode形式的字符
  6. 01-C语言基本知识
  7. 运行复制的ZooKeeper 部署
  8. Navicat如何进行搜索筛选
  9. linux安装Django 以及 生产环境部署实现高并发
  10. python avro 数据格式使用demo
  11. js数组作为参数用ajax向后台传参数
  12. [BZOJ3295] [Cqoi2011]动态逆序对(带修改主席树)
  13. c语言基础——基本数据类型
  14. ArrayBlockingQueue, LinkedBlockingQueue, ConcurrentLinkedQueue, RingBuffer
  15. 安全删除linux旧内核的方法
  16. SQL Server 自动化运维系列 - 监控磁盘剩余空间及SQL Server错误日志(Power Shell)
  17. ossec安装
  18. 转发:消息发布时间展示为刚刚、几分钟前、几小时前等等(php篇)
  19. AAuto 快速开发win32小程序
  20. WPF GridControl单元格值与过滤值相同时,改变单元格背景色

热门文章

  1. DevOps技术路线图
  2. SGI STL中内存池的实现
  3. JS 中按键处理
  4. StepShot4.3.0安装包_KeyGen发布
  5. qt5.9模块
  6. Call asynchronous method in constructor
  7. easy-mock介绍
  8. fileapi.h里的API函数(包括LockFileEx和FindFirstChangeNotification函数)
  9. iOS-HTTP浅析
  10. Android零基础入门第39节:ListActivity和自定义列表项