是的,之前关于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
当然你还能举出更多的例子。
我也不会证明这个结论,多数时候,你只需要用到这个结论,证明是很复杂的事情,也超出了我的能力范围。