摘要: update 2024/12/28 题目描述 给定一棵树,每次询问区间 \([l,r]\) 的 \[\max_{l \le l' \le r' \le r \land r' - l' + 1 \ge k}\text{dep}_ {\text{LCA*}(l', r')} \]引理证明 先来证两个区间 阅读全文
posted @ 2025-01-18 17:34 keysky 阅读(289) 评论(0) 推荐(1)
摘要: 传送门 前言 本题是笔者keysky与同学yangbaich讨论+推式子一整个晚上以及讨论前ybc的一整个下午做出来的,综合起来是 \(34\) 个转移方程,对于整道题来说,贡献大抵为我 \(2\) 他 \(8\) 。 我们的做法不一定是最优解,甚至可以说是较劣且复杂的,但时间是稳定能过且没卡常的, 阅读全文
posted @ 2025-01-17 21:17 keysky 阅读(77) 评论(2) 推荐(0)
摘要: 瘪言 模拟赛 T3,太精妙了,不听评讲,不看题解确实想不到。 膜拜场切大神paper_,_Communist和LastKismet。 正文 先考虑设计朴素一点的 dp,题目中限制等价于对于关键点 \(u\) 其子树中至少选一个点指向它,且选的点集的 lca 要为 \(u\),由于点集 lca 不好刻 阅读全文
posted @ 2026-08-24 22:22 keysky 阅读(8) 评论(0) 推荐(0)
摘要: 这种比较难搞的往根号数据结构想。 维护以下几个东西 \(cnt_{i, j}\):前 \(i\) 个块,\(\leq j\) 的元素个数。 \(f_{i, j}\):第 \(i\) 到第 \(j\) 个块构成的序列的逆序对个数。 \(pre_i, suf_i\):从下标 \(i\) 到所在块的左端点 阅读全文
posted @ 2026-08-10 21:20 keysky 阅读(3) 评论(0) 推荐(0)
摘要: 思路简单,代码不难。 首先考虑不带修改怎么做,经典正难反易,先转化为对每个颜色求有多少种选法使得存在该颜色 \(c\),然后用整体减去不包含颜色 \(c\) 的方案数得到不存在颜色 \(c\) 的方案数 \(f(c)\),设所有出现过的颜色数为 \(t\),将颜色离散化,那答案就等于 \(t \su 阅读全文
posted @ 2026-08-08 11:40 keysky 阅读(3) 评论(0) 推荐(0)
摘要: 样例调过后居然一遍过了? 首先发现的是换根是假的,本质上不带修改,不同的根对于 \(u\) 来说只有 \(2\) 种情况,一种以 \(1\) 为根,一种以 \(u\) 某棵子树 \(p\) 里的点为根,定义 \(u\) 的 dfs 序为 \(dfn_u\),\(u\) 子树中 dfs 序最大为 \( 阅读全文
posted @ 2026-08-06 17:54 keysky 阅读(3) 评论(0) 推荐(0)
摘要: 咋全是 \(O(N \sqrt{N})\) 的啊。 从询问入手,设三个区间公共拥有的数有 \(c\) 个,比较好发现答案为 \((r1 - l1 + 1) + (r2 - l2 + 1) + (r3 - l3 + 1) - 3c\),所以需要找到三个区间都有的数有多少个。 公共拥有这一个问题很像 b 阅读全文
posted @ 2026-08-05 11:33 keysky 阅读(4) 评论(0) 推荐(0)
摘要: 依旧分块。 值域上老套路了,对于这种值域小,区间将一个值赋为另一个值又跟个数相关的,直接上序列分块 + 并查集维护,问题在于要查第 \(k\) 小值,第一,不能分成若干个段单独考虑,第二,值域上肯定不能只知道个某个值有多少个就行了。 对于第一个问题,我们可以将分块维护的东西改成前缀和,定义 \(su 阅读全文
posted @ 2026-08-04 17:00 keysky 阅读(4) 评论(0) 推荐(0)
摘要: 这个好像叫突刺贯穿第二分块吧。 神奇的分块题,先考虑全局查询怎么做,首先发现当做了 \(1\) 操作后会有很多原本不同的值变得相同且以后也一直会相同,并且此题值域 \([0, 10^5 + 1]\) ,相当于把原本两个值「并」在了一起,由此联想到并查集维护,刚好还能维护某个值的数量。 思考怎么保证时 阅读全文
posted @ 2026-08-02 10:43 keysky 阅读(7) 评论(0) 推荐(0)
摘要: 直接枚举 \(t\) 明显不行,由于 \(1 \leq P, Q \leq 10^6\),考虑先满足一个条件,枚举 \(a_i\),则 \(i = kP + a_i\),然后查询有多少个 \(k\) 存在一个 \(j \in [1, m]\) 满足 \(kP + a_i \equiv b_j (\t 阅读全文
posted @ 2026-08-02 09:39 keysky 阅读(6) 评论(0) 推荐(0)
摘要: 首先我们得想到我们访问的下标是一段区间,拿到的灯笼照亮的范围也是一段区间(如果不是可以以后再返回来拿) 然后当我们拿到一堆能照亮高度在 \([L, R]\) 的灯笼后,我们只需要一个点即可确定所在位置与能访问的极长山峰区间,考虑 dp,由于最后询问从单个灯笼扩展到所有山峰的最小花费,要避免枚举从哪个 阅读全文
posted @ 2026-07-31 08:05 keysky 阅读(0) 评论(0) 推荐(0)
摘要: 开刷 Ynoi 第一题。 幂次太大,考虑如何减小幂次。 因为不保证 \(p\) 为质数,所以不能用欧拉定理,涉及知识点比较小众,扩展欧拉定理,即 \[a^b \ mod \ p = \begin{cases} & a^{b \ mod \ \varphi(p)} \ ,b < \varphi(p) 阅读全文
posted @ 2026-07-26 10:45 keysky 阅读(7) 评论(0) 推荐(0)