zoukankan      html  css  js  c++  java
  • 关于时间安排贪心算法正确性的证明

    我们令ai表示一个时间区间,具有两个属性si,ei表示开始和结束时间.

    现在给定一个a的集合Sk,从Sk中找出一个最大兼容子集,即找出尽量多的时间区间且这些区间互不相交。

    以前只是知道按照结束时间排序然后直接贪心即可,没想过证明,昨晚看了黑书的证明。

    首先我们假设这么一个定理:令am是Sk中e最小的区间,则am在SK的某一个最大兼容子集中

    证明:假设Ak为Sk的一个最大兼容子集,对于Ak具有的结束时间最早的区间设为aj,

    则aj有两种情况:1.aj==am,与结论相符。

                                 2.aj!=am,由于am是Sk中结束时间最早的,所以显然em<=ej,又在Ak这个最大兼容集中的元素互不相交,所以我们用am替换aj之后显然Ak还是一个最大兼容子集!

    证毕。

  • 相关阅读:
    migration的报错
    路由与认证
    drf-请求与响应
    django-rest-framework
    Vue -- 基础
    Django -- Auth模块
    Django -- 中间件
    Django -- cookie与session
    Django--ajax
    Django -- 视图层
  • 原文地址:https://www.cnblogs.com/zzqc/p/7039394.html
Copyright © 2011-2022 走看看