02 2025 档案

摘要:用到的所有 trick 应该都是比较常用的?可以作为一道综合练习题。 该做法来自洛谷第一篇题解。 首先是经典引理:区间 lca 等于「区间相邻点 lca 」中深度最小的那个点(区间长度大于 1)。 证明: 显然区间 [l,r] 的 lca 深度小于等于上面的东西 (\(dep_{\ 阅读全文
posted @ 2025-02-27 18:07 rhineofts 阅读(1) 评论(0) 推荐(0) 编辑
摘要:来一个不用 trie,但是需要大力分讨的做法。 这个 min 的限制是很难受的:因为如果两个数在某一位上分别是 01,那个 1 仍然可能有贡献。 先考虑一下性质 A: ai 全相等的做法。也即求 n2j=0mxj。这 阅读全文
posted @ 2025-02-23 20:44 rhineofts 阅读(5) 评论(0) 推荐(0) 编辑
摘要:[省选联考 2020 A 卷] 树 似乎是场切的第一道紫题? 成功拿下最长解+最劣解 子树类问题,考虑每个点对它祖先的贡献。异或问题,考虑拆位处理。 考虑一个点什么时候会有贡献: 以权值为 10101 的第三位为例:10101->11000->11100->100000->100100->10100 阅读全文
posted @ 2025-02-20 15:18 rhineofts 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题意:给定 n,对所有 k[0,n],求满足:1的连续段的长度最大值恰好为 k 的01串个数。n106 场上思路:dpx,y: 长度为 x,最长的1连续段 len = y 的串个数。用了一些前缀和,从 O(n4) 优化到了 阅读全文
posted @ 2025-02-19 09:10 rhineofts 阅读(4) 评论(0) 推荐(0) 编辑
摘要:又一个因为空间假掉的做法 一个乘积式等于一个和式,而值域又小于 n,容易发现类似根号分治的东西:合法的必要条件为 ai2n。 然后拆一拆式子: a[x] * a[y] == b[x] + b[y] 把 a[x] 除掉,可得: a[y] = b[x] / a[ 阅读全文
posted @ 2025-02-12 22:02 rhineofts 阅读(3) 评论(0) 推荐(0) 编辑
摘要:ref 这个东西实际上过不了(空间炸了),但是正确性是有的。 做法:这个前缀/后缀匹配的形式容易想到在 trie 上考虑。对 原串,反串各建一个 trie,用 dfs 把有某个前缀的串的集合刻画成区间,那么问题就成了下面这个形式:在线区间查询权值在 [x,y] 中的数的个数。主席树维护一下 阅读全文
posted @ 2025-02-11 18:08 rhineofts 阅读(1) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示