随笔分类 -  数据结构

摘要:题意 给定一个大小为 n 的树,每个点有点权 vi。 有 q 次查询,参数 x,k,查询 usubtree(x),dist(u,x)kvudist(u,x)n,q106 分析 考虑链怎么做。异或 阅读全文
posted @ 2025-02-17 17:27 dcytrl 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题意 给定一个字符串 s,令 sR 表示 s 翻转后的结果。q 次询问,每次询问给定 i,r,求有多少个 1lr 满足 sii+l1<si+li+2l1R。 多测,\(T\le 5 阅读全文
posted @ 2025-01-28 17:17 dcytrl 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题意 给定长为 n 的数列 aq 次查询区间 [l,r] 的所有子区间的最小值之和。 普通版:n,q105 加强版:n105,q107,强制在线。 二次加强版:n,q107,强制在线。 分析 普通版有很多 阅读全文
posted @ 2024-12-06 21:05 dcytrl 阅读(17) 评论(0) 推荐(0) 编辑
摘要:source:zr 二十联测 day19 C 题意 定义序列 {ai} 的权值为序列中元素之和的绝对值。 定义一个序列的划分 p1,p2,,pk=n 为将序列 {ai} 划分成了 \([1,p_1],[p_1+1,p_2],\cdots,[p_k 阅读全文
posted @ 2024-11-14 18:27 dcytrl 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题意 给定排列 a,bq 次询问 l,r,你需要求出 llrr(maxi=lrai)(maxi=lrbi)264 取模的值。 \(n,q\le 2.5\times1 阅读全文
posted @ 2024-11-13 14:21 dcytrl 阅读(17) 评论(0) 推荐(0) 编辑
摘要:source:zr2024 二十联测 http://zhengruioi.com/contest/1717/problem/3061 题意 给定一棵以 1 为根的树,树边有两种形态:实边和虚边。初始这棵树的所有边都为虚边。 定义 assert(x) 操作为:对于根到 x 上所有点,将 阅读全文
posted @ 2024-11-01 18:29 dcytrl 阅读(10) 评论(0) 推荐(0) 编辑
摘要:这个做法来看,对数做法到线性做法的跨度还比较大(?) 将打擂的过程看成一颗线段树。 定义“不定人”为一个 ai 不确定的的人,“固定人”反之。 性质 1:一个子树内的可能胜者要么唯一且是固定人,要么存在一个不定人。 若可能胜者有两个且无不定人,那么这两个人在合并的过程中必然会进行一次打擂。 阅读全文
posted @ 2024-10-31 17:09 dcytrl 阅读(18) 评论(0) 推荐(0) 编辑
摘要:这可能也是一个关于匹配的经典 trick。 题意 给定常数 C,你需要维护一个集合 S,支持以下操作: 1 x,加入数 x,保证 x 之前不存在。 2 x,删除数 x,保证 x 之前存在。 每次操作后你需要回答 $$\max_{i,j\in S,i\n 阅读全文
posted @ 2024-09-30 19:31 dcytrl 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题意 有 n 个数 aiq 次操作,每次操作会单点修改 ai,查询所有 b 的所有数形成的连通块个数。 n,q2×105,1ai109 分析 存在一个 O(nn) 的分块做法,但 阅读全文
posted @ 2024-09-26 21:25 dcytrl 阅读(6) 评论(0) 推荐(0) 编辑
摘要:介绍一种好想、在线、空间小、跑的还挺快的做法(?) 先暂时不考虑修改,只考虑怎么快速求解询问。 询问相当于区间内前缀按位或的和。根据按位或的性质,当区间内某个值在某一位下是 1,那么所有包含这个值的前缀的按位或结果在该位下都为 1。 考虑拆位,单独考虑每一位对答案的贡献,设 \(w\ 阅读全文
posted @ 2024-09-18 14:27 dcytrl 阅读(14) 评论(0) 推荐(0) 编辑
摘要:感觉是一个比较厉害的 trick,并且从来没见过,记录一下。 题意 给定 n 个数和 q 次操作: 1 l r x:区间 [l,r]x。 2 x v:查询在询问之前有多少时刻 axv。一次操作定义为一个时刻,初始为 0 时刻。 \(n, 阅读全文
posted @ 2024-09-11 20:57 dcytrl 阅读(10) 评论(0) 推荐(0) 编辑
摘要:题意简述 你初始在 (0,0),每个时刻你能向八连通格子移动或不移动。 有 n 个怪物,怪物坐标已知,每个时刻怪物也能向八连通格子移动或不移动,而且会选择最终与你欧几里得距离最短的一种方案。 求你在什么时刻会被怪物抓住(你和怪物在同一格子内),或报告无解。 \(n\le 10^5,| 阅读全文
posted @ 2024-02-02 11:59 dcytrl 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题意简述 求 n 个数两两异或值前 m 大的异或值的和,对 109+7 取模。 1n5×104,1ai109。 分析 首先肯定要求出第 m 大异或值,可以二分答案,检查异或值比二分值大的数对数量是否 \(\ge 阅读全文
posted @ 2024-01-31 14:43 dcytrl 阅读(6) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.com.cn/problem/CF264E 求最长上升子序列长度的经典方法是 dp,此题中设 fi 为以 i 为结尾的答案不是很方便,所以此题中改写 fi 为以 i 为开头的答案,转移就是 \(f_i=\max_{j\ge i+ 阅读全文
posted @ 2024-01-30 16:59 dcytrl 阅读(3) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.com.cn/problem/CF351D 由于每次操作后存在重排操作,我们可以让序列(询问的区间)中的相同值放在一块,这样以后每次操作就能删掉一整个值相同的位置了。那么第二次操作后所需操作数就是当前序列中不同数的个数。经典数颜色问题,离线线段树/莫队/主席树都能 阅读全文
posted @ 2024-01-30 16:37 dcytrl 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题意简述 多次询问区间众数的出现次数,强制在线。 n,m5×105,时限 2 秒,空限 62.5 MB。 分析 弱化版 本题相较弱化版有以下特点: 空间复杂度要求 O(n) 时间复杂度要求严格 O(nn),也就是说 \(O(n\ 阅读全文
posted @ 2024-01-24 19:27 dcytrl 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题意简述 多次查询区间 [l,r] 的众数,若有多个取数值最小的。强制在线。 n4×104,m5×104。 分析 加强版 考虑分块。 首先预处理出块区间内的众数 majl,r 和每种数在某个块的前缀的出现次数 \(cnt_{i,a 阅读全文
posted @ 2024-01-24 17:39 dcytrl 阅读(21) 评论(0) 推荐(0) 编辑

more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示