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

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

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

  • 相关阅读:
    scala简单的功能实现~weektwo
    linux中/dev/null与2>&1讲解
    scala简单的功能实现~weekone
    oracle之随机数
    oracle之percent_rank() over()函数和PERCENTILE_CONT() within group()over()函数详解
    awk编程的基本用法
    Django-路由系统
    selectors模块
    threading中定时器Timer方法
    HTML-W3school首页制作
  • 原文地址:https://www.cnblogs.com/OIerPrime/p/9936524.html
Copyright © 2011-2022 走看看