摘要: 基本思路就是,从后往前读取数字small[i]。在剩余编号集合里(一开始剩余编号集合为全集)查找第small[i]+1个编号,该编号就是对应位置牛的编号。 若直接用数组来做,则每次查找都需要遍历前n个数。而用线段树来做则可以降低为nlogn的复杂度。 事实上感觉可以直接用stl的set来做,直接模拟 阅读全文
posted @ 2018-04-06 17:05 KYSpring 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 通过这题基本完整理解了并查集的构建和使用。很轻巧的一种数据结构。 本题的方法值得注意:并没有直接构建两个帮派的集合,而是构建: 关系确认集合+若干单元素集(也即未确认帮派的初始状态)并辅助一个rel数组记录和父节点的关系(0相同,1不同)。 若关系确认,则将两个树合并到一棵树上;同时凭借rel数组判 阅读全文
posted @ 2018-04-06 15:27 KYSpring 阅读(187) 评论(0) 推荐(0) 编辑