zoukankan      html  css  js  c++  java
  • 【转载】【贪心】各种覆盖问题

    1、独立区间问题

    在N个区间里找出最多的互不覆盖的区间

    对结束点进行排序,然后从结束点最小的区间开始进行选择即可

    2、覆盖区间问题

    给一个大区间,再给出N个小区间,求出最少用多少个区间可以把大区间覆盖完

    先选出开始的一个,然后选开始点在这个区间里结束点最大的区间,然后以次类推

    3、区间的最小点覆盖

    给出N个区间,算出最小的点数使得每个区间里至少有一个点

    法1)对结束点进行排序(从小到大),然后依次将各个区间的最后点标号(必须判断其是否已标记)

    法2)对开始点进行排序(从大到小),然后依次将各个区间的开始点标号(必须判断其是否已标记)

    法3)先将包含了其他区间的区间除去,然后对开始点进行排序,然后从小到大对结束点标记(必须判断其是否已标记)

    4、点的最小区间覆盖

    给出N个点,用M个区间进行覆盖,使区间总常最小

    将相邻点之间差距由大到小排序,用个大区间将所有点覆盖,然后再将差距大的依次断开

    ——The Solution By AutSky_JadeK(From SDOI).
  • 相关阅读:
    64最长和谐子序列(594)
    63找到字符串中所有字母异位词(438)
    62有效的数独(36)
    10.10
    9.27作业
    9.27
    9.26
    9.25
    9.18学习内容
    9.17作业
  • 原文地址:https://www.cnblogs.com/Rivendell/p/4077443.html
Copyright © 2011-2022 走看看