[除一波并查集和贪心的草]

并查集有两种经典例题 一种是拆点 一种是带权并查集 拆点在巫泽俊的日本书上有例题 带权并查集我通常用向量来理解做题

bzoj 3362 开两个权 x和y 表示到fa的距离差 规定正方向做一遍带权并查集

bzoj 3376 带权并查集 祖先在上 还要维护最下面的是什么 再用一个并查集维护(其实祖先在下也可以)

 

贪心通常用一些东西来维护 单调栈?堆? 还有一些排序 倒过来做 一般想不到用数据结构的题多半贪心 然后智商题很多 然而最垃圾就是贪心

贪心好像可以用归纳法和反证法证明 但有一些只能意会不可言传

 

bzoj 1572 贪心 想办法选了可不可以再选最优的 那么选最优的一定在当前时间戳的后面 考虑时间戳从大到小排序 没选到的都塞到堆里面 空闲的时间都抽出来搞 或者和不空闲时间的对比一下谁更优

bzoj 4391 从左到右搞一下 分别找到比当前大一点点的 有就选一定最优 从右到左也搞一下 但是枚举端点加起来的时候可能会有左边选了右边又选了 那么我们考虑这样的情况我们肯定手上还有其它的牌 如果这个牌比当前牌要大 则替换掉从左到右搞的 反之

 

posted @ 2016-10-28 11:56  wohenshuai  阅读(212)  评论(0编辑  收藏  举报