USACO 2015 US OPEN CONTEST,Gold Division Solution

Googol

簡單的交互題,就是需要高精除極爲麻煩,略過。

Palindromic Paths

比較好的dp題。
首先我們可以枚舉迴文串的長度。枚舉一個a,則迴文串長度爲2a-1
顯然從中間那條斜線開始。
然後我們可以觀察到,對於一個a,字符串的最後的字符位於一條斜線上。
也就是說,在特定的a下,對於字符串最後一個字母c,在知道其橫座標x 的情況下,是可以算出其縱座標y 的。
那麼我們可以定義狀態dp[a][x1][x2] 表示在a的情況下,左邊端點的橫座標爲x1,右邊端點的橫座標爲x2,滿足條件的迴文串的個數。
然後把a那個維度給滾掉。
經過簡單的轉移即可求得答案。
時間複雜度O(n3) ,空間複雜度O(n2) ,略微卡一下常數即可。

Trapped in the Haybales

高調錶示這是自己寫過的最牛逼的貪心。
首先這題的切入點是草垛的質量。
我們按照質量排序,然後依次把草垛放到直線上。
每次加入一個草垛(位置爲p ),看看它左邊的草垛(如果有的話)l ,以及右邊的草垛(如果有的話)r
如果lr 已經是可以不可以自由的,那麼就不插入這個草垛。
else
觀察如果哪邊可以撞翻當前該草垛,那麼把[l,p] 或者[p,r] 加入答案。
因爲草垛的質量是從大到小排序的,那麼lr 的質量要不是沒影響,要不是已經算過了。
關於怎麼維護,用一個set存位置,用一個map標記即可。

相信絕大多數同學卡在按照位置排序然後預處理啊並查集啊一起亂搞啥都沒搞出來上了==

發佈了80 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章