zoukankan      html  css  js  c++  java
  • 贪心问题总结

    1) 区间贪心

    一、线段覆盖

    n个开区间(ai,bi),选择尽量多个区间,使得这些区间两两不相交

    右端点排序(<)兼顾左端点(>),再从左到右遇到不相交的就选

    二、区间选点

    n个闭区间[ai,bi],选择尽量少的点,使得每个区间至少有一个点

    右端点排序(<)兼顾左端点(>),每次选择可选区间的最后一个点

    三、区间覆盖

    数轴上有n个闭区间[ai,bi],选择尽量少的区间覆盖一条指定的线段[s,t]

    左端点排序(<)兼顾右端点(<),每次选择从当前起点能覆盖到的最长的区间

    2) 其他贪心问题

    1:活动安排问题 这种问题可以用结束时间排序,然后不断拿后一次的开始时间比较,循环,最大利用时间

    2,:背包问题 背包问题不能单纯的考虑一方面,重量或是价格,应用一个词“性价比”来装包,从性价比最高的开始,一直装到不能再装为止,如果能分割,那么可以最大利用空间!!

    3:最优装载问题 这个和背包问题差不多,甚至还简单,就不说了。。

    4:多次服务最优次序问题:这种类型还是比较简单的,首先排好序,然后两个窗口依次取,谁完成就取,从小的开始 (如ZJOI2007 午餐).

    5:桌子移动问题:其实这个可以把桌子数除以二,然后可以把数组值为零,依次输入数据,从谁那通过就加一,依次累加即可。。

  • 相关阅读:
    cocos2d-x学习笔记(贪吃蛇代码)
    jQuery中animate的height的自适应
    [Docker02]Docker_registry
    [Docker03] Deploy LNMP on Docker
    Python OS Module
    前端设计框架
    Ansible权威指南-读书笔记
    python+selenium之悠悠博客学习笔记
    jenkins入门
    sed
  • 原文地址:https://www.cnblogs.com/Kv-Stalin/p/9215115.html
Copyright © 2011-2022 走看看