
数据结构
FLYing_翔仔
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
20211229[带权并查集][RQNOJ36]数石子
20211229[RQNOJ36]数石子 只需用并查集将合并首尾相接的区间连接即可,所以左端点L要-1,才能自动衔接。 一开始想当然以为最小的区间就是根,结果栽了跟头 其实根不一定是最小的,但是要保证每次右端点所在的树根连向左端点,注意是左端点,不是左端点的树根,这样一来,路径上会出现负权边,但是在合并权值时,负数会被抵消,就像是区间先越过根节点所在点,然后又往回跑,将负数那一段抵消了。 应该说还是没有完全理清楚,是一道非常好的带权并查集 #include<cstdio> #define max原创 2021-12-29 11:33:19 · 106 阅读 · 0 评论 -
20211228 [搜索 栈 版本树][P1383]高级打字机
20211228 [P1383]高级打字机 考虑每次操作都按顺序建立一个版本,撤销也算 则撤销x步其实就是回退x步 借此可以建立一条边,由回退的位置直接指向当前位置 于是成了一棵树,在树上的每一条链上都不会有撤销 相当于把所有的撤销操作处理成了非线性的树形结构 于是可以一边搜索一边用栈去模拟 在输入时要记录一下哪些点上有询问,输出时按照顺序输出,所以要记录询问的时间 注意某些点上可能有多个点 #include<cstdio> #include<vector> #include<原创 2021-12-28 10:38:27 · 140 阅读 · 0 评论