10 2021 档案

摘要:之前没有写过可撤销并查集,这里整理一下. 普通并查集是不支持撤销/断边操作的. 但是如果加边顺序是 (1,2,3,4,5), 断边顺序是 (5,4,3,2,1) 的话是可以维护的. 我们只需要用一个启发式合并的并查集加上栈来存储合并信息即可. 这样做可行,是因为始终是向上合并,并且删除时是从 阅读全文
posted @ 2021-10-31 13:22 guangheli 阅读(958) 评论(0) 推荐(2) 编辑
摘要:CDQ 分治 在二维偏序问题中,可以利用排序干掉一维,并用树状数组维护另一维. 在三维偏序中,就需要利用 cdq 分治,干掉一维,并用树状数组+排序维护剩下两维. 例题 1. 树状数组模板题 本来,这道题应该用树状数组来完成,不过可以利用本题练习 cdq 分治. 操作序列的顺序 阅读全文
posted @ 2021-10-28 23:29 guangheli 阅读(67) 评论(0) 推荐(0) 编辑
摘要:只需考虑 2017 的状态. 令 0 表示没开始,1 表示有 2, 2 表示有 20..... 令 f[i][sta] 表示 DPi, 状态为 sta 的最小删除步数. 然后在进行状 阅读全文
posted @ 2021-10-22 20:53 guangheli 阅读(31) 评论(0) 推荐(0) 编辑
摘要:比较好的线段树二分. 先考虑没有修改如何做: 对于一个 y, 先找到第一个可以选的 a[i], 然后尽量选这个连续段. 显然,每当一个连续段停止时 y 的规模至少缩小了 12. 所以,连续段的个 阅读全文
posted @ 2021-10-21 22:09 guangheli 阅读(21) 评论(0) 推荐(0) 编辑
摘要:Team Building 来源:CF1316E, 2300 直接按照 a[i] 排序,然后发现决策点是连续的(除非观众选择完) 然后就直接令 f[i][j] 表示考虑前 i 个,状态为 j 的情况. 判断的话就 阅读全文
posted @ 2021-10-20 06:35 guangheli 阅读(23) 评论(0) 推荐(0) 编辑
摘要:Least Cost Bracket Sequence 来源:CF3D 比较巧妙的堆+贪心题. 考虑括号序列的合法条件:任意前缀和不小于 0 且最终和为 0. 不妨先在每个括号位置强制选择 ), 然后如果合法就继续,不合法就从前面选右括号的位置改变决策. 改变主意的选择用优先队列去维护那个差值, 阅读全文
posted @ 2021-10-19 19:06 guangheli 阅读(65) 评论(0) 推荐(0) 编辑
摘要:解决例如 xy 其中一个需要成立的问题. 处理这种问题的时候对于每个点建立真和假. 然后就连一下边就行,特别注意这个边是有对称性的. 所以如果每次只连了一种边就要注意是否没考虑周全. 在输出答案的时候显然可以用是否在一个联通分量内来判合法性. 然后如 阅读全文
posted @ 2021-10-06 20:24 guangheli 阅读(22) 评论(0) 推荐(0) 编辑

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