从小区间到大大区间

并计算 当前能否 括号匹配

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <string>
#include <iostream>
#include <algorithm>
#include <sstream>
#include <cmath>
using namespace std;
#include <queue>
#include <stack>
#include <vector>
#include <deque>
#include <map>
#define cler(arr, val)    memset(arr, val, sizeof(arr))
typedef long long  LL;
const int MAXN = 10000+6;
const int MAXM = 140000;
const int INF = 0x3f3f3f3f;
const int mod = 1000000007;
char s[122],c[122];
int dp[123][123],n;
int main()
{
#ifndef ONLINE_JUDGEfreopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);
#endifwhile(scanf("%s",s)){if(strcmp(s,"end")==0) break;int len=strlen(s);for(int i=0;i<len;i++)c[i+1]=s[i];cler(dp,0);for(int i=1;i<len;i++)if((c[i]=='('&&c[i+1]==')')||(c[i]=='['&&c[i+1]==']'))dp[i][i+1]=2;for(int i=1;i<=len;i++)//区间长度{for(int l=1;l+i<=len;l++)//起始位置{int r=l+i;if((c[l]=='('&&c[r]==')')||(c[l]=='['&&c[r]==']'))//当前格子满足dp[l][r]=max(dp[l][r],dp[l+1][r-1]+2);for(int k=l+1;k<=r-1;k++)//合并两个区间{dp[l][r]=max(dp[l][r],dp[l][k]+dp[k][r]);}}}cout<<dp[1][len]<<endl;}return 0;
}

【DP】 POJ 2955 Brackets 区间DP相关推荐

  1. Brackets POJ - 2955 (区间DP+最大括号匹配子序列)

    传送门 题目:给一个长度n(<=100)的只包含'[',']','(',)'的字符串,求最长的完全匹配的子序列.输出长度 题解:区间dp,dp[i][j]表示i~j的最长匹配数,一支dp[i][ ...

  2. Codeforces 508E Arthur and Brackets 区间dp

    Arthur and Brackets 区间dp, dp[ i ][ j ]表示第 i 个括号到第 j 个括号之间的所有括号能不能形成一个合法方案. 然后dp就完事了. #include<bit ...

  3. POJ 2955 Brackets (区间DP)

    题目链接:http://poj.org/problem?id=2955 Brackets Time Limit: 1000MS   Memory Limit: 65536K Total Submiss ...

  4. POJ - 2955 Brackets (区间DP)

    题目: 给出一个有括号的字符串,问这个字符串中能匹配的最长的子串的长度. 思路: 区间DP,首先枚举区间长度,然后在每一个长度中通过枚举这个区间的分割点来更新这个区间的最优解.还是做的少. 代码: / ...

  5. poj2955 Brackets (区间dp)

    题目链接:http://poj.org/problem?id=2955 题意:给定字符串 求括号匹配最多时的子串长度. 区间dp,状态转移方程: dp[i][j]=max ( dp[i][j] , 2 ...

  6. poj 3280(简单区间dp)

    题意:将一个字符串转换成回文串的最小花费. 解题思路:简单的区间dp,dp[i][j]表示从i到j的字符串转换成回文串的最小化费. #include<iostream> #include& ...

  7. POJ 2955 Brackets(括号匹配一)

    题目链接:http://poj.org/problem?id=2955 题目大意:给你一串字符串,求最大的括号匹配数. 解题思路: 设dp[i][j]是[i,j]的最大括号匹配对数. 则得到状态转移方 ...

  8. 【DP学习总结】区间DP

    文章目录 前言 例题 例题[1]石子合并 例题[2]回文子序列 小结 例题[3]环形石子合并(破环成链) 例题[4]多边形 [例题5]String painter 前言 区间dp,顾名思义,是解决一类 ...

  9. 【DP_区间DP专辑】

    区间DP是一类在区间上进行动态规划的最优问题,一般是根据问题设出一个表示状态的dp,可以是二维的也可以是三维的,一般情况下为二维.然后将问题划分成两个子问题,也就是一段区间分成左右两个区间,然后将左右 ...

最新文章

  1. SQL基础操作_4_表的插入、更新、删除、合并操作
  2. Freemarker模板引擎
  3. 2017.3.23下午
  4. 【离散数学】树的基本概念和结论
  5. 云图说|ModelArts Pro,为企业级AI应用打造的专业开发套件
  6. Machine Learning系列实验--SoftMax Regression
  7. Memcached:高性能分布式对象缓存系统
  8. 将下图的nfa确定化为dfa_实战技术利用AutoCAD确定PCB板型
  9. sas macro 入门
  10. Java面试题中高级,java简历技术栈怎么写
  11. CS5216 Capstone DP to hdmi 1080p转换器或者转接线设计原理|CS5216 DP转HDMI转换电路原理图
  12. Good Bye 2018 ABCD题解
  13. java爬取今日头条文章
  14. 2020年2月全国程序员工资统计,平均工资13716元
  15. vue3 创建vue3模板
  16. 第 16 章 string类和标准模板库
  17. 工作了4年的JAVA程序员应该具备什么技能?
  18. 从0配置halo博客并配置SSL
  19. VUE+Element中eldialog弹框控制最小宽度
  20. 知识图谱入门——认识知识图谱

热门文章

  1. 微软的可疑更新DhMachineSvc.exe
  2. LeetCode一求素数算法优化的简单研究
  3. 游戏下载 恐龙炸怪物
  4. Oracle字符串拆分
  5. 来深圳这三年我都经历了什么,一个深漂青年的所思所想
  6. 深富策略:盐湖股份大涨吸金 市场风格出现转变!
  7. 一个依赖搞定 Spring Boot 反爬虫,防止接口盗刷!
  8. css中list_position,css中list-style-position属性的使用方法
  9. centos 7下的redis 环境搭建以及C语言使用hiredis访问redis
  10. 【Unity】学习笔记 | 性能优化(一)—— 渲染