05 2021 档案

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

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