Dilworth定理

来自网络的解释:

定理内容及其证明过程数学不好看不懂。

通俗解释: 把一个数列划分成最少的最长不升子序列的数目就等于这个数列的最长上升子序列的长度(LIS)

EXAMPLE 1
 
HDU 1257 导弹拦截问题
思路:可知该题本质上是求给定序列最长不上升子序列的最少划分数。根据Dilworth定理,问题可转换为求这个序列的最长上升子序列的长度(LIS)。故套用裸LIS模板即可。
 
EXAMPLE 2
 
洛谷 P1233 木棍加工
思路:先按照其中一个关键字排序,再求另一个关键字的最长不上升子序列的最少划分数,根据Diworth定理,即求其最长上升子序列。
这里仅提供排序规则代码,其他部分与裸LIS无异。
posted @ 2019-01-30 18:21  Chr1stopher  阅读(296)  评论(0编辑  收藏  举报