单调栈 / 队列
文章平均质量分 63
BraketBN
这个作者很懒,什么都没留下…
展开
-
【TSINSEN-A1483】方格取数【DP】【随机数据】【单调栈】
2013年集训队论文题。看了题解后我是大写的懵逼。(这OJ竟然还有代码风格分)/* Footprints In The Blood Soaked Snow */#include #include #include #include using namespace std;typedef long long LL;const int maxn原创 2016-03-06 19:43:18 · 764 阅读 · 0 评论 -
【SPOJ-ARRAYSUB】subarrays【单调队列】
题意:给出n个数,问连续k个最大值。裸的单调队列。一发AC。(把k给在数后面大概是为了防止读入时就处理数据吧...)#include #include using namespace std;const int maxn = 1000005;int n, k, num[maxn];struct _data { int w, pos;原创 2016-02-21 18:32:40 · 534 阅读 · 0 评论 -
【LA4726】Average【斜率优化】【单调队列】
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=30&page=show_problem&problem=2727题意:给出一个01串,问平均值最大的区间。大白上的题,写了之后发现是论文题...见周源《浅谈数形结合思想在信息学竞赛中的应用》/*原创 2016-03-14 16:37:16 · 736 阅读 · 0 评论 -
【BZOJ2803】[Poi2012]Prefixuffix【Hash】【单调性】
【题目链接】考虑两个字符串str1、str2是循环相同的,那么这两个字符串可以表示成str1 = s1 + s2和str2 = s2 + s1的形式,。比如ababba和abbaab,s1 = ab,s2 = abba。那么在一个大字符串中,s1和s2其中一个一定是这个字符串的前后缀,假设为s1,那么我们可以枚举s1的长度,然后去判断s2是否相等,这个可以用hash。发现s2为原创 2016-04-07 12:05:26 · 542 阅读 · 0 评论 -
【BZOJ1057】[ZJOI2007]棋盘制作【最大全0子矩阵】【单调栈】【悬链法】
【题目链接】第一感觉就是最大全0子矩阵,但是不太一样,那么转化一下。发现可选部分是0与1相间的,那么我们可以把可选部分的1都变成0,就变成最大全0子矩阵了。考虑怎么变。如果我们强制让最左上角的格子为0,那么对于一个格子(x, y)(1)如果x和y奇偶性相同,且(x, y)上为1,那么这个格子应该变为0。(2)如果x和y奇偶性不同,且(x, y)上为0,那么这个格子应该变为0原创 2016-03-28 17:04:31 · 762 阅读 · 0 评论 -
【BZOJ3401】[Usaco2009 Mar]Look Up 仰望【单调栈】
【题目链接】省选结束后好累,随便敲个傻逼题。从后向前维护一个单调栈,扫一遍就完了。/* Pigonometry */#include #include #include using namespace std;const int maxn = 100005, maxq = maxn;int n, num[maxn], ans[maxn];struct _d原创 2016-04-18 22:40:58 · 854 阅读 · 0 评论 -
【BZOJ4385】[POI2015]Wilcze doły【单调队列】【前缀和】【Two Pointers】
【题目链接】题解:如果区间[j, i]固定,那么一定是将权值最大的一段变为0。用单调队列维护一段区间内权值最大的子段下标(这里记录右端点下标,设为x),枚举右端点i,用尺取法计算出j。一段区间[j, i]合法的条件是sum[i] - sum[j - 1] - (sum[x] - sum[x - d]) 复杂度:时间复杂度:因为每个点最多遍历2次,复杂度为O(n)原创 2016-05-09 17:05:10 · 952 阅读 · 0 评论