摘要: [CF1476G] Minimum Difference Minimum Difference の 传送门 不显然不同出现次数的数最多 \(O \left ( \sqrt n \right )\)。 \(\sum\limits_{i=1}^k i = n\) 算出 \(k\) 最大为 \(\sqrt n\)。 则莫队 + 值域分块,维护每个出现次数有几个数 阅读全文
posted @ 2025-02-14 00:08 SilverLi 阅读(11) 评论(0) 推荐(0)
摘要: [CCO 2020] Interval Collection Interval Collection 的传送门 不显然的结论:最多选 \(2\) 个区间。因为多余 \(2\) 个的会导致浪费。 最大公共子区间 未定义 设线段树当前区间为 \(\left [ l, r \right ]\)。 用这个树存下面三个值。 \(lt\) 表示左端点在当前区间时最小的右端 阅读全文
posted @ 2025-02-14 00:05 SilverLi 阅读(16) 评论(0) 推荐(0)
摘要: [CF633H] Fibonacci-ish II Fibonacci-ish II の 传送门 多个区间和去重交给莫队。 用线段树维护 \(\begin{bmatrix} fib_{i-1} \times val, fib_i \times val \end{bmatrix}\)。 具体和线段树的区间和差不多,上传时左右儿子矩阵相加,下传时左右儿子 阅读全文
posted @ 2025-02-14 00:00 SilverLi 阅读(20) 评论(0) 推荐(0)
摘要: [SP32952] ADAFTBLL - Ada and Football Ada and Football の 传送门 前置:莫队。 先用树上莫队转换成序列,修改则最后套个带修莫队。 假设新到一个点,它的权值已经出现了 \(apr\) 次。 那答案加上 \(apr\) 就行(前后贡献相减得出的)。 /* BORROWED_CODE */ #include<cstdio> 阅读全文
posted @ 2025-02-06 22:44 SilverLi 阅读(14) 评论(0) 推荐(0)
摘要: [CF877F] Ann and Books Ann and Books の 传送门 \(s_i=\sum_{j=1}^i a_j \left [ t_j=1 \right ], t_i=\sum_{j=1}^i a_j \left [ t_j=2 \right ]\)。 满足条件的区间可以表示为 \(\left [ l, r \right ] 阅读全文
posted @ 2025-02-06 22:34 SilverLi 阅读(17) 评论(0) 推荐(0)
摘要: [CF1579G] Minimal Coverage Minimal Coverage の 传送门 怎么这个题想不到啊,所以我选择了看题解。 不容易发现,如果覆盖长度为 \(x\) 可以,那长度更多的一定可以(这里不盖满整个长度为 \(x\) 的段也可以)。 二分试一试,令当前二分的覆盖长度为 \(len\)。 DP 一下,\(f_{i, j}\) 表 阅读全文
posted @ 2025-01-24 18:16 SilverLi 阅读(23) 评论(0) 推荐(0)
摘要: [CF549F] Yura and Developers Yura and Developers の 传送门 点一点 题外话 怎么没人直接强上笛卡尔树分治。 正文 看到最大值,想一想笛卡尔树分治。 令当前区间为 \(\left [ l, r \right ]\),区间最大值及位置为 \(mx, k\)。 假设 \(\left [ l, k \right ] 阅读全文
posted @ 2025-01-24 18:13 SilverLi 阅读(40) 评论(6) 推荐(2)
摘要: [CF1260D] A Game with Traps A Game with Traps の 传送门 首先,假设带 \(p\) 个人可以,那么带更少的人一定可以。 那么,可以二分带多少个人。 设当前二分带 \(x\) 个人。 带敏捷值最大的 \(x\) 个士兵肯定最好。 先去除当前无用的陷阱,即 \(d_i\) 小于等于 \(x\) 个士兵中的最小敏捷 阅读全文
posted @ 2025-01-24 18:12 SilverLi 阅读(35) 评论(0) 推荐(0)
摘要: [SP32079] ADAGF - Ada and Greenflies Ada and Greenflies の 传送门 \(\forall i \in \left [ 1, n \right ]\),令当前左端点为 \(i\),右端点为 \(j\)。 不断执行以下操作: 通过倍增找到 \(j\) 后面最后一个 \(k\),使得 \(\gcd(a_{i \sim j}) 阅读全文
posted @ 2025-01-24 18:10 SilverLi 阅读(74) 评论(0) 推荐(0)
摘要: [CF2042D] Recommendations 推一推 题目传送门 假设要求第 \(i\) 个用户的强烈推荐的曲目数。那么对于所有曲目,因为是 \(i\) 的所有预测器都喜欢这首曲目才算答案,也就是求完全包含 \(i\) 的区间的交。 那怎么算完全包含的区间呢? 可以先把这些区间 \(\left [l_i, r_i \right ]\) 排序,\ 阅读全文
posted @ 2024-12-21 17:31 SilverLi 阅读(17) 评论(0) 推荐(0)