05 2021 档案
摘要:Day2 Hamiltonian 基环树和树构成的森林. 每个节点的值可以单向延边流向字节点, 总共可以给任意点增加权值 , 求最小值最大. 这个题的部分分给的特别多, 暴力打满就有 . 场上我一个半小时写了 的数据点分治, 结果实测只 . 最后
阅读全文
摘要:Day1 Majiang 输入一个 01 串 , 需要输出一个最短的 01 串 , 使得 在 中从未出现过. 如果有多个可行的解, 你需要输出字典序最小的那一个. 一开始看到后, 立马想到 SAM (只要是和字符串沾点边就能扯上 SAM,
阅读全文
摘要:边带权与扩展域 边带权 并查集可以维护物品的集合关系, 只要给并查集的边加上权值, 就能维护某些别的东西. 通过查询一个点到它所在的集合的根的路径的权值总和, 就能得到元素在集合中的相对权值, 合并时, 通过两个集合根之间的边权, 维护两个集合的所有元素的相对权值. 经典题: NOI2001 食物链
阅读全文
摘要:树上带修莫队 前置当然是莫队算法, 带修莫队, 树上莫队. 树上带修莫队是这三者的结合体. 因为已经掌握了带修莫队和树上莫队, 所以需要阐述的东西不多, 直接结合经典题糖果公园分析该算法. 题面简述 一棵树, 个点, 每点颜色为 中颜色中的一种. 表示第 \(
阅读全文
摘要:树上莫队 & 括号序 在学习了莫队算法之后, 就得到了一个骗分利器 (虽然经常被强制在线卡掉). 接下来将莫队算法推广到树上, 解决部分树上路径询问问题. 括号序 一棵树用括号来表示, 每个子树被一对括号括起来, 举个例子, 比如这颗树: 它用括号来表示是这样的: (( () (() ()) ))
阅读全文
摘要:带修莫队 莫队算法只能解决区间查询问题, 但是如果在查询过程中加上单点修改, 一般的莫队就不能做了, 因为这种问题不能简单地将询问离线. 为了能用莫队解决带修改的区间查询问题, 在之前两个维度 (区间左 / 右端点) 的基础上加一个时间维, 对所有询问和修改离线处理. 基本思想 每个修改打一个时间戳
阅读全文
摘要:Link/Cut Tree (动态树) 动态树问题, 维护一个森林, 支持但不仅限于如下操作: Query 查询路径信息. Link 连接两个不同树上的点. Cut 断开两点之间的连边. Change 单点修改 给出的解决方案是 Link/Cut Tree, 基于 Splay 的数据结构, 简称 L
阅读全文