链接:https://codeforces.com/contest/1334/problem/F 题意:定义函数f,对于一个含n个元素的数组arr,首先有一个空的数组c,按顺序对arr数组元素进行操作,若ai大于c数组所有元素,则将arr[i]加入c数组末尾,最后得到的数组c=f(arr)。现在给你 ...
分类:
其他好文 时间:
2020-04-25 14:15:39
阅读次数:
78
题目链接:The Child and Sequence 题意:给你你一个序列a,有三种操作:(1)求$\sum_{i=l}^{r}a[i]$,(2)让区间[l,r]内的所有数模x,(3)令a[k]=x 思路:如果没有操作(2),那就是线段树模板题,现在考虑如何实现操作(2) 定理:如果mod<x,那 ...
分类:
其他好文 时间:
2020-04-25 00:49:28
阅读次数:
50
"题面" 题解 给个不要脑子的做法。 因为这道题是物品会存在一段时间,对每个时间点求出 $0/1$ 背包的值。然后 $n$ 和背包大小都是 $4000$ 级别,于是考虑线段树分治。 也就是将所有物品丢到线段树上去,dfs 一遍整棵树,将覆盖当前区间的所有物品全部加到 $0/1$ 背包里面去,这样就可 ...
分类:
其他好文 时间:
2020-04-23 21:26:04
阅读次数:
70
李超线段树模板题。 大概思路呢,就是每个区间留着一个标记$tag$表示在这个区间中点函数值最大线段的编号,然后在不停的放线段进去递归处理就行了。 代码: ...
分类:
其他好文 时间:
2020-04-22 23:02:40
阅读次数:
110
李超线段树的作用就是在一个二维平面内,给你若干条直线(线段),询问在某点时函数值最大(小)的线段是谁(或函数值),支持动态插入线段。 例题: 1. "luogu P4097 [HEOI2013]Segment" (模板题) "题解" ...
分类:
其他好文 时间:
2020-04-22 22:55:29
阅读次数:
67
"Link" 如果两个区间相交,那么这两个区间之间有双向边。 如果一个区间包含另一个区间,那么被包含的区间向大区间有一条单向边。 考虑用并查集把所有以双向变连边的区间合并成一个大区间,这可以用线段树实现。 可以证明从一个区间到另一个区间的路径最多经过一条单项边,直接对两个区间所属的大区间进行判断即可 ...
分类:
其他好文 时间:
2020-04-22 19:45:30
阅读次数:
61
容易发现可以枚举j 那么只需要计算出 l~j这段是回文串的l的和 以及j+1~r这段是回文串的r的和。 可以manacher 之后想要求出以j为右端点的回文串左端点的和 这个东西我们通过某个点为中心的最长回文子串来做出。 容易发现是一个类似于等差数列的东西的 可以上线段树 不过没有在线询问啥的 可以 ...
分类:
其他好文 时间:
2020-04-22 16:58:50
阅读次数:
68
CDQ分治不但能解决三维偏序问题,还能将某些问题的动态版本变成静态。 比如这题是单点修改,区间查询,这样我们就可以将输入的顺序当作时间轴,之后进行CDQ分治 按x轴排序后,对y进行树状数组加减,这道题就变成了x比他小,并且y也比他小的个数查询 这题还用到了简单的容斥原理,也就是二维前缀和的思想来求取 ...
"兔队教我线段树/kel" 在某处找到了这个,自己写个博客加深下印象,不过兔队的名字感觉和实际操作起来关系不大,于是自己口胡了一个名字。。 "楼房重建" 题意:有$n$栋楼,第$i$栋的高度为$h_i$,在从$(0,0)$位置能看到多少栋楼 能看到当且仅当$(0,0)$与$(i,h_i)$之间没有其 ...
分类:
其他好文 时间:
2020-04-19 11:05:31
阅读次数:
60
Description 现在有一棵二叉树,所有非叶子节点都有两个孩子。在每个叶子节点上有一个权值(有 $n$ 个叶子节点,满足这些权值为 $1\cdots n$ 的一个排列)。 可以任意交换每个非叶子节点的左右孩子。 要求进行一系列交换,使得最终所有叶子节点的权值按照遍历序写出来,逆序对个数最少。 ...
分类:
其他好文 时间:
2020-04-18 09:28:42
阅读次数:
47