本次是NOIP前的最后一次课程
老师居然不知道下周停课这个消息,我也不解,因为下周期中考试就不上课了?
考虑之后老师还是决定讲原来的内容-堆和并查集
堆
首先是基本概念,也就是用P怎么来写
插曲:完全二叉树的翻译有问题,因为英文是complete 而满的二叉树又被称为满二叉树,所以称紧致二叉树较为合适
然后举例子
合并果子(不过这道题还有更快的做法-单调队列)
给一张图,求字典序最小的拓扑排序
USACO的都市地平线 T93
给一些数,怎么找中位数
插曲:中位数其实比平均数更有用,比如工资的中位数。。
并查集
基本概念,没讲按rank合并
最经典的一些问题
给定一些点,要求实现两个操作
1、告诉你两个点之间的位置和距离关系
2、求两点间距离
朋友-敌人关系
告诉你谁和谁是朋友,谁和谁是敌人,问两个人之间的关系
这题POJ上做过,不过马融有更漂亮的做法,就是传说中的带权并查集