题目大意 题解 一开始想枚举每段的分界再判断,然而不好搞 实际上把每个点到两边的距离设为(x,y),类似https://www.cnblogs.com/gmh77/p/12813589.html,变为用一条折线把所有点分成两个集合 直接dp折线,转移时要么继承上一行位置,要么转移到前面的某个点,线段 ...
分类:
其他好文 时间:
2020-09-17 20:08:07
阅读次数:
22
题目链接:#6277. 数列分块入门 1 题目大意 给出一个长为 \(n\) 的数列,以及 \(n\) 个操作,操作涉及区间加法,单点查值。 solution 我们可以用树状数组和线段树来过掉他, 但是这是一道分块的题,那我们就要用分块来 \(A\) 掉它 查询操作: 我们可以直接记录一下块的操作, ...
分类:
其他好文 时间:
2020-09-17 20:04:26
阅读次数:
37
有时,我们要维护一个数据结构,支持区间对x取min。 如果只有区间max/min查询,则可以把区间的所有节点的值对x取min。 标记可以合并,这样子时间复杂度是nlogn的。 但是如果有了区间和查询,则不能这么做。 虽然标记可以合并,但是无法更新区间最大值。 考虑维护区间严格次大值m2和区间严格次大 ...
分类:
其他好文 时间:
2020-09-17 19:22:52
阅读次数:
27
Miku 对于线段树来讲,lazy的更新是一个要仔细考虑的问题 #include<iostream> #include<cstdio> #include<cstring> #include<cstring> using namespace std; int n,m; int sum[1200005] ...
分类:
其他好文 时间:
2020-09-17 16:39:27
阅读次数:
26
题目地址:https://www.acwing.com/problem/content/249/ 题目描述: 有几个古希腊书籍中包含了对传说中的亚特兰蒂斯岛的描述。 其中一些甚至包括岛屿部分地图。 但不幸的是,这些地图描述了亚特兰蒂斯的不同区域。 您的朋友Bill必须知道地图的总面积。 你自告奋勇写 ...
package LeeCode;public class LeetCode307 { private Tree tree; public LeetCode307(int[] nums) { tree = new Tree(nums); } public void update(int i, int ...
分类:
其他好文 时间:
2020-09-02 18:12:24
阅读次数:
60
dp[i] = max_{j ∈ [i-R,i-L]}( dp[j] + v(j+1,i) )。做前缀和后,对每种s[j]的值,开一个单调队列。每次将i-L入队、将i-R-1出队。用线段树维护每个队列的队首。转移时最区间最大值查询。 ...
分类:
其他好文 时间:
2020-08-17 16:57:59
阅读次数:
68
线段树优化建图板子题。。。。。。 暴力建边 \(\mathcal O(n^2)\) 肯定会 TLE 但仔细分析可以发现,题面中有一个我们非常熟悉的字眼“区间”,这启示我们,可不可以以此作为解题的突破口呢? 答案是肯定的。想到区间我们可以联想到各种我们很熟悉的 trick,如前缀和、差分、线段树等。 ...
分类:
其他好文 时间:
2020-08-11 10:42:25
阅读次数:
71
$\mathcal Link. 给一个 \(n\times n\) 的棋盘,其中 \(q\) 个互不重叠的子矩阵被禁止放棋。问最多能放多少个互不能攻击的车。 \(n,q\le10^4\)。 $\mathcal 如果把问题转化成“只允许在某些子矩阵上放棋”,就是一个很显然的线段树优化建图最大流。源点连 ...
分类:
其他好文 时间:
2020-08-07 21:44:28
阅读次数:
73
如果您看到这里什么内容都没有,不必感到疑惑。 因为它就是什么都没有。 理论篇 一.决策单调性优化:单调栈/单调队列/斜率/四边形不等式优化 咕了。 二.数据结构优化:前缀和/线段树/树状数组优化 咕了。 三.其他优化:滚动数组/矩阵乘法/各式各样的推式子优化 咕了。 ...
分类:
其他好文 时间:
2020-08-06 22:02:51
阅读次数:
91