/*
translation:
n根木材长l_i重w_i,前一根木材大于后一根的话要浪费一分钟准备机器,求最省方案?
solution:
dp, dilworth定理, lis
此道题是求按照某一元素(长度或者重量)排序后,另一种元素最少有几个上升子序列?
这样就可以通过求另一种元素的最长下降子序列的长度,就是上升子序列的最少个数。--dilworth定理
note:
dilworth定理:
定理1 令(X,≤)是一个有限偏序集,并令r是其最大链的大小。则X可以被划分成r个但不能再少的反链。
其对偶定理称为Dilworth定理:
定理2 令(X,≤)是一个有限偏序集,并令m是反链的最大的大小。则X可以被划分成m个但不能再少的链。
证明:设p为最少反链个数
(1)先证明X不能划分成小于r个反链。由于r是最大链C的大小,C中任两个元素都可比,因此C中任两个
元素都不能属于同一反链。所以p>=r。
(2)设X1=X,A1是X1中的极小元的集合。从X1中删除A1得到X2。注意到对于X2中任意元素a2,必存
在X1中的元素a1,使得a1<=a2。令A2是X2中极小元的集合,从X2中删除A2得到X3……最终,会有一个
Xk非空而X(k+1)为空。于是A1,A2,...,Ak就是X的反链的划分,同时存在链a1<=a2<=...<=ak&#x
poj1065(dilworth定理+lis)
最新推荐文章于 2023-07-18 21:56:03 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)