[HNOI2018] 排列

写在前面

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

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

Description

参见这里:传送门

Solution && Code

参见这里:传送门

Inspiration

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

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

猜你喜欢

转载自www.cnblogs.com/qrsikno/p/10065913.html