[HNOI2018] 排列

写在前面

其实这一题目算是一道好题,但是直接蒯了他人的代码,其实这一行为并不可取。

这一题目算是一道很经典的题目,跟这道题,具有相同类似的模型。
但是我太菜了做不出, 仅仅是路过pick的。 所以可以参考对比进行理解。

Description

参见这里:传送门

Solution && Code

参见这里:传送门

Inspiration

这题提供了一个经典模型:有n个二元组,限制条件可以表示为一棵树。
每次合并(a, b),(c, d),并且合并时会对Ans产生贡献,并且合并复杂度低。
首先分析优先级, 并且合并时一般是从父亲到儿子。
那么我们只要用堆维护以键值为优先级的二元组。
用并查集为基础维护二者包含关系即可在log时间内合并。

分析难度在优先级,实现难度不在堆.

posted @ 2018-12-04 18:29  Qrsikno  阅读(133)  评论(0编辑  收藏  举报