zoukankan      html  css  js  c++  java
  • 再谈Dilworth定理

    是的,之前关于Dilworth定理的博客写过两篇,今天为了准备NOIP2018的时候,又复习之前的博客,感觉自己只是复制了Wiki里的大段大段的描述,但还是没有说清楚到底Dilworth定理应该怎么理解。

    我不想写大段大段深奥的定义和证明,说实话,我自己也看不懂。我们就简单的举例子来理解这个定理。

    我们来看

    1 4 2 5 3

    这串数字。

    现在我们想用尽量少的上升子序列来划分这个数列。

    1 4 2 5 3

    我们将原来的数列分为了2个上升子序列(用粗体区分)。

    我们再来看这个数列的最长下降子序列

    注意这里“下降”和“上升”是相反的,相似的,“不上升”和“不下降”是相对的。

    最长下降子序列我们找到了:

    4 2 或
    4 3 或
    5 3

    都是长度为2的。也就是说这个数列的最长下降子序列长度为2

    注意到我粗体了2。不管是什么数列,这里的数字都是相等的。

    再来看一个数列。

    6 3 9 7 10 4 8 5 1 2

    上升子序列划分(只是一种情况,划分方式又很多):

    6 9 10
    3 7 8
    4 5
    1 2

    4个

    最长下降子序列(能写出的长度为4的下降子序列也有很多,这里是一种情况):

    9 7 4 1

    长度为4

    当然你还能举出更多的例子。

    我也不会证明这个结论,多数时候,你只需要用到这个结论,证明是很复杂的事情,也超出了我的能力范围。

  • 相关阅读:
    I/O FileInputStream 字节类型文件输入输出流 (汉字显示乱码)
    Date 获取日期 SimpleDateFormat
    Random 随机生成数
    String StringBuffer Arrays 字符串修改 拼接
    Math
    装箱 拆箱Integer .ValueOf()
    LinkedListTest
    springboot cache
    耀眼的明星--项羽
    耀眼的明星--百年虚云
  • 原文地址:https://www.cnblogs.com/OIerPrime/p/9936524.html
Copyright © 2011-2022 走看看