• 一种贪心


    我这个贪心做过(2)遍了,但是不太记得了。
    这个问题:有一颗树。
    你需要求出一个答案排列。
    权值和这个排列有关。
    要求一个点必须在它的父亲后面。
    求最优的排列。
    维护一个并查集。
    考虑我们把两个操作序列合并。
    操作序列的最优顺序是个全序关系。
    我们维护一个堆,每次取出最优的块,把它和父亲的块合并,表示“选了父亲就要选当前点”。
    把所有点合并成一个的连通块,我们就求出了方案。
    对于HNOI2018 排列,直接执行上面的贪心即可。
    在合并的时候可以顺便统计答案。
    把前面的块(a)和后面的块(b)合并时,可以统计后面块的答案增量。
    对于 集训队作业2018 三角形,我们需要求出一个子树的操作序列。
    使用一个链表即可在(O(1))的时间内连接两个操作序列,进而求出答案。
    求出子树的答案线段树合并即可。
    对于模拟赛 某题,还需要推一下公式才能使用这个贪心。

  • 相关阅读:
    npm --save-dev 与 --save 的区别
    Vue 简单实例 购物车2
    Vue 简单实例 购物车1
    node.js富文本编辑器
    使用jquery操作session
    浏览器窗口之间传递数据
    批量修改文件编码格式
    具有动态效果的响应式设计
    Ajax请求全局配置
    html实体转换
  • 原文地址:https://www.cnblogs.com/ctmlpfs/p/13932227.html
Copyright © 2020-2023  润新知