TJOI2015 組合數學

2021-08-20 05:25:55 字數 575 閱讀 1703

這個東西一看就是二維偏序嗎?

首先考慮把乙個權值為v的點拆成v的相同的點,這v個點相互不可比的。

這樣答案變成了最小鏈覆蓋。

dilworth定理:最小鏈覆蓋=最大反鏈。

乙個點拆成了v的點,因為這v個點互不可比,那這v個點肯定要同時選,所以其實相當求點權和最大的反鏈,這個寫個sb動態規劃就行了。

code:

#include

#define fo(i, x, y) for(int i = x; i <= y; i ++)

#define fd(i, x, y) for(int i = x; i >= y; i --)

#define max(a, b) ((a) > (b) ? (a) : (b))

using

namespace

std;

int t, n, m, a[1005][1005];

int main()

}

TJOI2015 組合數學

為了提高智商,zjy開始學習組合數學。某一天她解決了這樣乙個問題 給乙個網格圖,其中某些格仔有財寶。每次從左上角出發,只能往右或下走。問至少要走幾次才可能把財寶全撿完。但是她還不知足,想到了這個問題的乙個變形 假設每個格仔中有好多塊財寶,而每一次經過乙個格仔至多只能撿走一塊財寶,其他條件不變,至少要...

TJOI2015 組合數學

題目 學習了 rm dilworth 定理,即偏序集的最小全序集劃分等於最大反鏈長度 定理的內容看起來非常自閉,偏序集 全序集和反鏈都是個啥 偏序集其實非常常見,經典的二維偏序 三維偏序其實就是最基本的偏序關係,比如說乙個二元組集合 a 對於 x 1,y 1 x 2,y 2 in a 當 x 1 l...

TJOI2015 組合數學

為了提高智商,zjy開始學習組合數學。某一天她解決了這樣乙個問題 給乙個網格圖,其中某些格仔有財寶。每次從左上角出發,只能往右或下走。問至少要走幾次才可能把財寶全撿完。但是她還不知足,想到了這個問題的乙個變形 假設每個格仔中有好多塊財寶,而每一次經過乙個格仔至多只能撿走一塊財寶,其他條件不變,至少要...