随笔分类 -  其他--单调队列/栈

摘要:题面 "传送门" Sol 题目都说了 必然存在一种最优的买卖方案满足: 每次买进操作使用完所有的人民币; 每次卖出操作卖出所有的金券。 设$f[i]$表示第$i$天可以有的最大钱数 枚举$jb_iY_k+a_iX_k$$ 假设$k\frac{Y_j Y_k}{X_j X_k}$$ 设$K_i=\fr 阅读全文
posted @ 2018-04-04 14:16 Cyhlnj 阅读(225) 评论(0) 推荐(1)
摘要:题面 "Bzoj" Sol 暴力:$设f[i][j][k]$表示到第$i$次倾斜,当前在$(j, k)$的滑动最大距离 然后$O(n m T)$转移,$AC$了??? cpp include define RG register define IL inline define Fill(a, b) 阅读全文
posted @ 2018-02-27 17:10 Cyhlnj 阅读(168) 评论(0) 推荐(0)
摘要: 题面 "传送门" Sol 题意就是给你一棵树,有边权 求边数在$[L, U]$内的一条路径,使得边权和除以边数最大,输出这个最大值 二分答案+点分治+单调队列 二分一个答案$mid$,把所有的边权减去这个$mid$就是$check$是否有一条边数满足要求的大于等于零的路径 $bfs$求出当前每个 阅读全文
posted @ 2018-02-25 21:47 Cyhlnj 阅读(132) 评论(0) 推荐(0)
摘要:题面 "Bzoj" Sol 两个串拼在一起后求出后缀数组 然后显然的$n^2$暴力,就是直接枚举求$LCP$ 又由于扫的时候是对$height$取$min$ 那么可以用单调栈维护每一段的贡献相同的 阅读全文
posted @ 2018-02-21 21:28 Cyhlnj 阅读(157) 评论(0) 推荐(0)
摘要:题面 "Bzoj" Sol 设$f[i][j]$表示第$i$天有$j$张股票的最大收益 转移很简单辣 cpp include define RG register define IL inline define Fill(a, b) memset(a, b, sizeof(a)) using nam 阅读全文
posted @ 2018-02-21 09:55 Cyhlnj 阅读(164) 评论(0) 推荐(0)
摘要:Sol 一个很显然的暴力,设$f[i]$表示选到$i$的最优效率 每次枚举一段不与前面连续的长度小于$k$的区间转移来 cpp include define RG register define IL inline define Fill(a, b) memset(a, b, sizeof(a)) 阅读全文
posted @ 2018-02-13 21:30 Cyhlnj 阅读(198) 评论(0) 推荐(0)
摘要:题面 "Luogu3242" Sol 考虑每个盘子怎样才能接到一个水果 分两种情况: 盘子的$x, y$在一条链上,那么水果的两点就要在这条链之外 不在的话,水果的两点就分别在盘子的两点的子树中 记录下每个点的$dfs$序,和这棵子树结束的$dfs$序 发现上述讨论就是相当于求水果这个点$(x, y 阅读全文
posted @ 2018-02-06 18:43 Cyhlnj 阅读(197) 评论(0) 推荐(0)
摘要:按斜率排序后画个图,用单调栈维护这个半平面交 # include <bits/stdc++.h> # define IL inline # define RG register # define Fill(a, b) memset(a, b, sizeof(a)) using namespace s 阅读全文
posted @ 2018-01-04 21:58 Cyhlnj 阅读(170) 评论(0) 推荐(0)
摘要:斜率优化 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <string.h> # include <algorithm> # define IL inline # define RG register 阅读全文
posted @ 2017-12-09 11:17 Cyhlnj 阅读(130) 评论(0) 推荐(0)
摘要:斜率优化 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <string.h> # include <algorithm> # define IL inline # define RG register 阅读全文
posted @ 2017-12-09 11:17 Cyhlnj 阅读(106) 评论(0) 推荐(0)
摘要:斜率优化 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <string.h> # include <algorithm> # define Sqr(x) (1LL * (x) * (x)) # defi 阅读全文
posted @ 2017-12-09 11:16 Cyhlnj 阅读(136) 评论(0) 推荐(0)
摘要:斜率优化 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <string.h> # include <algorithm> # define IL inline # define RG register 阅读全文
posted @ 2017-12-09 11:15 Cyhlnj 阅读(144) 评论(0) 推荐(0)
摘要:斜率优化 # include <stdio.h> # include <stdlib.h> # include <iostream> # include <string.h> # include <algorithm> # define Sqr(x) (1LL * (x) * (x)) # defi 阅读全文
posted @ 2017-12-09 11:14 Cyhlnj 阅读(112) 评论(0) 推荐(0)
摘要:凸包真是一个神奇的算法。。 概念 凸包,我理解为凸多边形 叉积 对于向量AB和向量BC,记向量AB*向量BC = AB * BC * sin ∠ABC,而叉积的绝对值其实就是S△ABC/2 对于平面上的一些点,我们要求凸包上所有的点,可以使用Graham算法 时间复杂度O(nlogn) 思路 先找到 阅读全文
posted @ 2017-07-30 22:38 Cyhlnj 阅读(457) 评论(0) 推荐(0)