C++-POJ2955-Brackets[DP]
2024-10-08 09:39:36
题意就是,找出最长合法子括号序列
容易想到设f[l][r]为l~r的最长合法子括号序列的长度
然后从短的状态往长的状态枚举,不断更新答案就可以了
//#include<bits/stdc++.h>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
char s[];int f[][];
int DP(int n){
memset(f,,sizeof(f));
for(int len=;len<=n;len++)
for(int l=;l+len-<=n;l++){int r=l+len-;
if((s[l]=='('&&s[r]==')')||(s[l]=='['&&s[r]==']'))f[l][r]=max(f[l][r],f[l+][r-]+);
for(int i=l;i<r;i++)f[l][r]=max(f[l][r],f[l][i]+f[i+][r]);
}
return f[][n];
}
int main(){
while(scanf("%s",s+)&&s[]!='e')printf("%d\n",DP(strlen(s+)));
return ;
}
最新文章
- 扩展JQuery和JS的方法
- Request三种获取数据的方式
- ASP.NET c# Redis 开发
- 在Winform开发框架中,利用DevExpress控件实现数据的快速录入和选择
- SQL Server 2008 R2——VC++ ADO 操作 存储过程
- Brackets - 又一款牛x的WEB开发编辑器
- CompareValidator ASP控件
- getgrent
- Bash的数组
- Java入门(5)——类和对象还有构造方法
- Spring详解(四)------注解配置IOC、DI
- 基于redis的延迟消息队列设计
- 基于Web在线考试系统的设计与实现
- 全球第一免费开源ERP Odoo PM OKR项目管理操作指南
- Gradle 依赖管理
- babel-plugin-import配置babel按需引入antd模块,编译后报错.bezierEasingMixin()
- Retrofit Token过期 重新请求Token再去请求接口
- ArcGIS案例学习笔记-批量裁剪地理模型
- 开源项目推荐:e-example / Springboot+bootstrap + ……
- SQLite 3的中文读写