
单调栈
文章平均质量分 64
commonc
这个作者很懒,什么都没留下…
展开
-
BZOJ3521: [Poi2014]Salad Bar
题目大意:有一个长度为n的字符串,每一位只会是p或j。求一个最长子串,使得不管是从左往右还是从右往左取,都保证每时每刻已取出的p的个数不小于j的个数。首先先扫一遍得到以每个点为左端点,只考虑从左向右取,最远能取到哪,并标记每一个点最早被哪一个点扫到然后再从后往前扫一遍,开两个栈,一个记录当前仍符合条件的右端点,一个记录已经被扫过的左端点,每当有元素从第一个栈里弹出时,就在第二个栈里原创 2016-05-11 19:08:21 · 1465 阅读 · 0 评论 -
BZOJ1136: [POI2009]Arc
题目大意(跟BZOJ上的不一样!!!):这是一道交互题!内存限制为32MB!先给你一个整数K(K要求你求出一个长度为K的字典序最大的子序列!这是一道非常厉害,非常有想法的交互题!但是BZOJ不支持交互,所以就变成了一个可以上来把所有数读进来再做的SB题朴素的做法是维护一个单调递减的栈,开始的n-k个直接推入栈中,最后k个每推进去一个元素就把栈底输出并删掉(其实像原创 2017-01-17 15:48:41 · 673 阅读 · 0 评论 -
BZOJ1127: [POI2008]KUP
题目大意:给一个n*n的非负整数矩阵和一个常数K,要求你找出一个子矩阵使得这个子矩阵的数字和在[K,2K]之间首先假设有一个格子就在这个范围内,直接输出否则格子分两种,一种小于K,一种大于2K,其中第二种格子不能选然后一个比较显然的结论就是,我们若能找出一种不包含第二个格子的子矩形使得其权值和大于等于K,这个子矩形一定有一部分的权值和小于等于2K,因为里面每个元素都不超过K原创 2017-05-18 15:28:30 · 645 阅读 · 0 评论