[luoguP1944] 最长括号匹配_NOI导刊2009提高(1)
非常傻的DP。
f[i]表示末尾是i的最长的字串
#include <cstdio>
#include <cstring>
#define N 1000001 int f[N];
char s[N];
int n, p, ans; int main()
{
int i;
scanf("%s", s + 1);
n = strlen(s + 1);
for(i = 1; i <= n; i++)
{
if((s[i - 1 - f[i - 1]] == '(' && s[i] == ')') || (s[i - 1 - f[i - 1]] == '[' && s[i] == ']'))
{
f[i] = f[i - 1] + 2;
f[i] += f[i - f[i]];
}
if(ans < f[i]) ans = f[i], p = i;
}
for(i = p - f[p] + 1; i <= p; i++) printf("%c", s[i]);
return 0;
}
[luoguP1944] 最长括号匹配_NOI导刊2009提高(1)的更多相关文章
- P1944 最长括号匹配_NOI导刊2009提高(1)
		P1944 最长括号匹配_NOI导刊2009提高 题解 宁愿相信世上有鬼,也不能随便相信某谷题目标签 我想了半天然后看了眼题解,发现用栈来模拟就好了 栈来模拟,还要用到一个bool数组,标记是否已经匹 ... 
- 题解  P1944 最长括号匹配_NOI导刊2009提高(1)
		栈,模拟 把每个元素逐个入栈 如果和栈顶元素匹配,那么一块弹出去,同时标记这里是可匹配的. 取出连续的,最长的可匹配的序列即可. #include <iostream> #include ... 
- 洛谷 P1950 长方形_NOI导刊2009提高(2)
		传送门 思路 首先定义\(h\)数组,\(h[i][j]\)表示第\(i\)行第\(j\)列最多可以向上延伸多长(直到一个被用过的格子) 然后使用单调栈算出 \(l_i\)和 \(r_i\) ,分别是 ... 
- 洛谷 P1950 长方形_NOI导刊2009提高(2) 题解
		P1950 长方形_NOI导刊2009提高(2) 题目描述 小明今天突发奇想,想从一张用过的纸中剪出一个长方形. 为了简化问题,小明做出如下规定: (1)这张纸的长宽分别为n,m.小明讲这张纸看成是由 ... 
- 洛谷 P1952 火星上的加法运算_NOI导刊2009提高(3)
		P1952 火星上的加法运算_NOI导刊2009提高(3) 题目描述 最近欢欢看到一本有关火星的书籍,其中她被一个加法运算所困惑,由于她的运算水平有限.她想向你求助,作为一位优秀的程序员,你当然不会拒 ... 
- 洛谷 P1951 收费站_NOI导刊2009提高(2) 最短路+二分
		目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例: 输出样例: 说明 思路 AC代码 总结 题面 题目链接 P1951 收费站_NOI导刊2009提高(2) 其 ... 
- 题解 P1951 【收费站_NOI导刊2009提高(2)】
		查看原题请戳这里 核心思路 题目让求最大费用的最小值,很显然这道题可以二分,于是我们可以二分花费的最大值. check函数 那么,我们该怎么写check函数呢? 我们可以删去费用大于mid的点以及与其 ... 
- 洛谷1462(重题1951) 通往奥格瑞玛的道路(收费站_NOI导刊2009提高(2))
		1462原题链接 1951原题链接 显然答案有单调性,所以可以二分答案,用\(SPFA\)或\(dijkstra\)跑最短路来判断是否可行即可. 注意起点也要收费,\(1462\)数据较水,我一开始没 ... 
- Luogu P1951 收费站_NOI导刊2009提高(2)
		二分答案+堆优Dijkstra 这个题有些巧妙. 首先,因为要在油量耗完之前跑到终点,所以我们可以用最短路.只要从\(s\)出发到\(t\),它的最短距离大于油量,我们就可以断定它一定走不通,直接输出 ... 
随机推荐
- 链表中用标兵结点简化代码                                                    分类:            c/c++             2014-09-29 23:10    475人阅读    评论(0)    收藏
			标兵结点(头结点)是在链表中的第一个结点,不存放数据,仅仅是个标记 利用标兵结点可以简化代码.下面实现双向链表中的按值删除元素的函数,分别实现 带标兵结点和不带标兵结点两版本,对比可见标兵结点的好处. ... 
- Normal equations 正规方程组
			前面我们通过Gradient Descent的方法进行了线性回归,但是梯度下降有如下特点: (1)需要预先选定Learning rate: (2)需要多次iteration: (3)需要Feature ... 
- 有关LD_LIBRARY_PATH与ld.so.conf
			我之前写过一篇关于LD_LIBRARY_PATH与gcc/g++ -L的关系的文章,于是我自己用CPACK制作了一个Debian安装包,然后我在/home/.bashrc里添加了export LD_L ... 
- String的用法——获取功能
			package cn.itcast_04; /* String类获取功能 int length():获取字符的长度 char charAt(int index):获取指定索引位置的字符 int ind ... 
- 一种结合hudson的算法自动化测试构想
			作者:朱金灿 来源:http://blog.csdn.net/clever101 有时我在思考:未来软件测试的趋势是什么?其实答案和其它行业一样简单:低技术含量的测试工作都将由机器承担,人只能干机器干 ... 
- 微信小程序组件解读和分析:十一、label标签
			label标签组件说明: label标签,与html的label标签基本一样.label 元素不会向用户呈现任何特殊效果.不过,它为鼠标用户改进了可用性.如果您在 label 元素内点击文本,就会触发 ... 
- 短视频SDK简单易用——来自RDSDK.COM
			锐动天地为开发者提供短视频编辑.视频直播.特效.录屏.编解码.视频转换,等多种解决方案,涵盖PC.iOS.Android多平台.以市场为导向,不断打磨并创新技术,在稳定性,兼容性,硬件设备效率优化上千 ... 
- [Windows Server 2012] 阿里云镜像购买和使用方法
			★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将演示:阿里云镜像购买 ... 
- OpenGL Column-Major Matrix 使用注意事项
			这column major的矩阵是彻底把我搞晕了,以后右乘规则下的矩阵应该这么用 假设我想创建一个2x2的矩阵,数学上我这么写: 1 2 3 4 用代码创建的话这么写 // 按照 row major ... 
- cf536b——优先队列的运用
			题目 题目:cf536 B题 题目大意:一个饭店有n种食物,每种食物有对应的价格和数量,然后有m个顾客,每个顾客需要$d_j$份第$t_j$种食物,如果该种食物数量不够,则选其它尽可能便宜的代替(出现 ... 
