单调队列/栈
Cyhlnj
这个作者很懒,什么都没留下…
展开
-
Bzoj2442:修剪草坪
Sol一个很显然的暴力,设f[i]f[i]f[i]表示选到iii的最优效率 每次枚举一段不与前面连续的长度小于kkk的区间转移来# include <bits/stdc++.h># define RG register# define IL inline# define Fill(a, b) memset(a, b, sizeof(a))using namespa...原创 2018-02-13 21:32:02 · 281 阅读 · 0 评论 -
Bzoj1758: [Wc2010]重建计划
题面传送门Sol题意就是给你一棵树,有边权 求边数在[L,U][L,U][L, U]内的一条路径,使得边权和除以边数最大,输出这个最大值二分答案+点分治+单调队列 二分一个答案midmidmid,把所有的边权减去这个midmidmid就是checkcheckcheck是否有一条边数满足要求的大于等于零的路径 bfsbfsbfs求出当前每个点到根的disdisdis和d...原创 2018-02-25 21:45:56 · 297 阅读 · 0 评论 -
Bzoj4566:[HAOI2016]找相同字符
题面BzojSol两个串拼在一起后求出后缀数组 然后显然的n2n2n^2暴力,就是直接枚举求LCPLCPLCP 又由于扫的时候是对heightheightheight取minminmin 那么可以用单调栈维护每一段的贡献相同的# include <bits/stdc++.h># define RG register# define IL inli...原创 2018-02-21 21:28:39 · 233 阅读 · 0 评论 -
Bzoj1855: [Scoi2010]股票交易
题面BzojSol设f[i][j]f[i][j]f[i][j]表示第iii天有jjj张股票的最大收益 转移很简单辣# include <bits/stdc++.h># define RG register# define IL inline# define Fill(a, b) memset(a, b, sizeof(a))using namespace ...原创 2018-02-21 09:55:35 · 237 阅读 · 0 评论 -
Bzoj1499: [NOI2005]瑰丽华尔兹
题面BzojSol暴力:设f[i][j][k]设f[i][j][k]设f[i][j][k]表示到第iii次倾斜,当前在(j,k)(j,k)(j, k)的滑动最大距离 然后O(n∗m∗T)O(n∗m∗T)O(n*m*T)转移,ACACAC了???# include <bits/stdc++.h># define RG register# define IL ...原创 2018-02-27 17:10:16 · 226 阅读 · 0 评论 -
ZJOI2007仓库建设
斜率优化# include <stdio.h># include <stdlib.h># include <iostream># include <string.h># include <algorithm># define IL inline# define RG register# define Fill(a, ...原创 2017-12-09 11:17:43 · 202 阅读 · 0 评论 -
APIO2010特别行动队
斜率优化# include <stdio.h># include <stdlib.h># include <iostream># include <string.h># include <algorithm># define Sqr(x) (1LL * (x) * (x))# define IL inline# de...原创 2017-12-09 11:14:57 · 262 阅读 · 0 评论 -
CEOI2004锯木厂选址
斜率优化# include <stdio.h># include <stdlib.h># include <iostream># include <string.h># include <algorithm># define IL inline# define RG register# define Fill(a, ...原创 2017-12-09 11:15:59 · 271 阅读 · 0 评论 -
USACO08MAR Land Acquisition
斜率优化# include <stdio.h># include <stdlib.h># include <iostream># include <string.h># include <algorithm># define IL inline# define RG register# define Fill(a, ...原创 2017-12-09 11:17:08 · 204 阅读 · 0 评论 -
HNOI2008玩具装箱
斜率优化# include <stdio.h># include <stdlib.h># include <iostream># include <string.h># include <algorithm># define Sqr(x) (1LL * (x) * (x))# define IL inline# de...原创 2017-12-09 11:16:38 · 219 阅读 · 0 评论 -
Graham凸包算法简介
凸包真是一个神奇的算法。。概念凸包,我理解为凸多边形叉积 对于向量AB和向量BC,记向量AB*向量BC = AB * BC * sin ∠ABC,而叉积的绝对值其实就是S△ABC/2对于平面上的一些点,我们要求凸包上所有的点,可以使用Graham算法 时间复杂度O(nlogn)思路先找到最左下的点,把其他的点按叉积排序。然后维护一个堆栈,每次利用叉积和...原创 2017-07-30 22:38:42 · 515 阅读 · 0 评论 -
[HNOI2008]水平可见直线
按斜率排序后画个图,用单调栈维护这个半平面交# include <bits/stdc++.h># define IL inline# define RG register# define Fill(a, b) memset(a, b, sizeof(a))using namespace std;typedef long long ll;const int _(500...原创 2018-01-04 21:58:07 · 294 阅读 · 0 评论 -
Luogu3242:[HNOI2015]接水果
题面Luogu3242Sol考虑每个盘子怎样才能接到一个水果 分两种情况: 盘子的x,yx,yx, y在一条链上,那么水果的两点就要在这条链之外 不在的话,水果的两点就分别在盘子的两点的子树中 记录下每个点的dfsdfsdfs序,和这棵子树结束的dfsdfsdfs序 发现上述讨论就是相当于求水果这个点(x,y)(x,y)(x, y)包含它的二维矩阵(盘子)有多少个...原创 2018-02-06 18:43:38 · 325 阅读 · 0 评论 -
Bzoj1492: [NOI2007]货币兑换Cash(不单调的斜率优化)
题面传送门Sol题目都说了 必然存在一种最优的买卖方案满足: 每次买进操作使用完所有的人民币; 每次卖出操作卖出所有的金券。设f[i]f[i]f[i]表示第iii天可以有的最大钱数 枚举j<ij<ijjjj天用完所有的钱买劵 然后在第iii天卖光 获得606060分核心代码如下for(RG int i = 1; i <= n...原创 2018-04-04 14:17:44 · 207 阅读 · 0 评论