HEOI2013 鈣鐵鋅硒維生素

2021-07-09 02:18:11 字數 1039 閱讀 7881

給定2n

個行向量a1

,…,a

n,b1

,…,b

n ,需要設計一種替換方案,ai

被bj 替換(i

∈[1,

n],j

∈[n+

1,2n

]),每個

j 只能用一次。要求是,每乙個ai

被對應的bj

替換後,ak

(1≤k

≤n) 間線性無關。並要求方案的字典序最小。

後面提到的a,

b,c 將是n×

n 的矩陣,其中

a 是n個

ai,b

也同理。

首先題目應該是要求了

a 必須是線性無關,不然就輸出不合法(題意交代不清)。

然後對於每個bj

,a中只能有乙個最小集合

s,滿足

s 線性無關,但加入bj

後s將線性相關。

因為若有兩個或以上的集合,不管是否有交集,

a將不會線性無關。

我們將要求出對於每個bj

的相應集合

s ,然後顯然bj

能替換的只能是

s 中的某個ai

。設c×a

=b,則若ct

i,j≠

0 ,則bj

的s中含ai

,道理是因為∑c

i,j×

aj,k

=bi,

k ,而aj

,k,b

i,k 都是行向量。

至於怎麼求

c 呢,我們可以求出

a的逆矩陣a−

1 ,則有c=

b×a−

1 。

建好圖後,要使得字典序最小,我們先跑一次完美匹配,然後列舉每個ai

,強制其選bj

,即把兩個點在匹配中禁止走,然後看原來選bj

的點能否跑出增廣路。

求逆矩陣是n3

的,生成方案也是n3

的。 所以本題是o(

n3) 。

HEOI2013 SAO 計數問題

題目大意 welcome to sao strange and abnormal online 這是乙個 vr mmorpg,含有 n 個關卡。但是,挑戰不同關卡的順序是乙個很大的問題。有 n 1 個對於挑戰關卡的限制,諸如第 i 個關卡必須在第 j 個關卡前挑戰,或者完成了第 k 個關卡才能挑戰第...

P4096 HEOI2013 Eden的博弈樹

乙個博弈樹,黑方先手。定義乙個最小的葉子節點集為黑胜狀態為黑方勝利集合,白色亦然。求所有既屬於黑方勝利集合有屬於白方勝利集合的點。設f i,0 1f fi,0 1 表示i ii子樹中的最小黑髮 白方勝利集和,然後可以根據這個求出所有的勝利集合點。時間複雜度o n o n o n include in...

HEOI2013 Eden 的新揹包問題

題面 原題過於繁複,這裡口述,多重揹包,多次詢問,每次詢問的揹包容量不一樣,並且每次詢問會規定乙個物品不能選 這個規定的物品每次詢問都會改變 題解首先考慮對詢問的兩個要求,容量不一樣很好處理,因為dp跑揹包的過程中本來就會記錄不同容量時的答案。對於規定乙個物品不能選怎麼處理呢?不計算這乙個物品,需要...