随笔分类 - 数据结构 / 线段树,树状数组
摘要:source:zr 二十联测 day19 C 题意 定义序列 的权值为序列中元素之和的绝对值。 定义一个序列的划分 为将序列 划分成了 \([1,p_1],[p_1+1,p_2],\cdots,[p_k
阅读全文
摘要:介绍一种好想、在线、空间小、跑的还挺快的做法(?) 先暂时不考虑修改,只考虑怎么快速求解询问。 询问相当于区间内前缀按位或的和。根据按位或的性质,当区间内某个值在某一位下是 ,那么所有包含这个值的前缀的按位或结果在该位下都为 。 考虑拆位,单独考虑每一位对答案的贡献,设 \(w\
阅读全文
摘要:题意 给定一棵带权树和 次询问,每次询问修改一条树边的权值,并查询修改后树的直径。询问之间不独立。 ,强制在线。 分析 回想一下,两个点的距离可以被表示成 。 而树的直径,本质上就是求 \(\ma
阅读全文
摘要:题意简述 你初始在 ,每个时刻你能向八连通格子移动或不移动。 有 个怪物,怪物坐标已知,每个时刻怪物也能向八连通格子移动或不移动,而且会选择最终与你欧几里得距离最短的一种方案。 求你在什么时刻会被怪物抓住(你和怪物在同一格子内),或报告无解。 \(n\le 10^5,|
阅读全文
摘要:https://www.luogu.com.cn/problem/CF264E 求最长上升子序列长度的经典方法是 dp,此题中设 为以 为结尾的答案不是很方便,所以此题中改写 为以 为开头的答案,转移就是 \(f_i=\max_{j\ge i+
阅读全文
摘要:https://www.luogu.com.cn/problem/CF351D 由于每次操作后存在重排操作,我们可以让序列(询问的区间)中的相同值放在一块,这样以后每次操作就能删掉一整个值相同的位置了。那么第二次操作后所需操作数就是当前序列中不同数的个数。经典数颜色问题,离线线段树/莫队/主席树都能
阅读全文
摘要:题意简述 有一个大小为 的有根树,根为 。每个节点上有一个敌人,强度为 。 你要从 出发打怪,设你当前所处点为 ,你可以花费 1 单位时间经过一条边到达 的某个儿子,然后打怪。若你的死亡次数小于 ,则会死亡并回到起点
阅读全文