算法合集之《数学归纳法与解题之道》.pptVIP

  • 3
  • 0
  • 约 19页
  • 2015-09-24 发布于安徽
  • 举报

算法合集之《数学归纳法与解题之道》.ppt

IOI2009国家集训队论文演示 张昆玮 数学归纳法与解题之道 山西省实验中学  张昆玮 引言 概览 【例5】Set Cover ——数据结构的恢复性构造    子集覆盖问题定义为选出尽量少的子集,使已知集合中的每个元素至少属于其中的一个。 线段覆盖问题定义为选出尽量少的整点,使给定的每条线段上都至少有其中的一个。 以整点为子集,所有包含这个整点的线段为子集中的元素,可以把一个线段覆盖问题归约到子集覆盖问题。如果给定一个由线段覆盖问题归约成的子集覆盖问题,该怎么解决呢? 线段覆盖问题 在数轴上选出尽量少的整点 给定的每条线段上必须至少有其中的一个 按左端点排序后有简单的贪心算法 转化成子集覆盖问题 整点作为集合(实际上只需每线段的右端点) 所有包含此整点的线段为其元素 一般的子集覆盖问题→NP完全 怎么办? 定义线段的位置 线段的位置即为其中点的位置 两线段距离即为其中点的距离 两线段距离可以使用对应集合运算求出 问题:如何拓展连通分量? 我们把问题分为连通分量来处理 两个连通分量之间线段距离可以任意,不影响结论 每个连通分量的第一条线段位置任意 调整归纳假设 只有一条线段时方向无关紧要 初始时刻选择不同的方向只会使最终的结果互为轴对称而已。 其他情形中为了判断方向,我们需要调整归纳假设 同侧?异侧? 同侧?异侧? 线段的右端点 小结 以

文档评论(0)

1亿VIP精品文档

相关文档