本題的難點是「移動過程中不能出現多顆棋子同時在某一格的情況」。
事實上,可以忽略此條件,因為棋子是相同的,
我們可以用合法的等效方案替代一棋子越過另一棋子的情況: a、b、c三格,a能在一步走到b,b也能在一步走到c。
在a的棋子需要走到存在棋子的b,接著走到c。此情形我們可以看成在b的棋子先走到c,接著在a的棋子走到b。
有了這個結論就可以套km了,注意這題用費用流只有60分
好久學學km。。。
BZOJ 1801 中國象棋
題解 顯然問題就是一行一列最多只能放兩個棋子,求方案數 dp f i j k 表示前i行已經有j列有乙個棋子,k列有兩個棋子的方案數 那麼第i行可以不放棋子 放乙個棋子 放兩個棋子。其中,棋子可以放在原來沒有棋子的某一列上,也可以放在已經有乙個棋子的某一列上。但是已經有兩個棋子的列上是不能放的。然後...
BZOJ1801 中國象棋
很久之前就聽說過這道題了,當時就覺得很難。一種很暴力的思想是,用狀壓dp做,記錄每一行的各個狀態,但顯然,只可以拿50分 也不少 這裡用到一種dp優化的思想,合併本質相同的狀態,實際上,我們並不太關心每一行的擺放情況,真正影響方案數的是,放到某一行,已經放了1個的列數,放了2個的列數及空列,知道了這...
bzoj4029 貪心 定價
description 在市場上有很多商品的定價類似於 999 元 4999 元 8999 元這樣。它們和 1000 元 5000 元和 9000 元並沒有什麼本質區別,但是在心理學上會讓人感覺便宜很多,因此也是商家常用的 策略。不過在你看來,這種 十分荒謬。於是你如此計算乙個 p p 為正整數 的...