1131.【noip2009pj】道路遊戲(game.pas/cpp)
·比較難的dp ·設
fi,j,0表示當前第i時刻到達第j個工廠,在這裡並不買機械人的最大金幣數 ·設
fi,j,1表示當前第i時刻到達第j個工廠,在這裡買乙個機械人的最大金幣數
·注意,題目要求每個時刻必須要有乙個機械人,且走的時候是順時針的走,
gi表示在第i個工廠買機械人所需要的金幣
·試想推推
fi,j,0
·根據上述每個時刻必須要有乙個機械人,且當前時刻不買機械人,那麼很明顯只能通過上乙個工廠到達這裡,否則當前
fi,j,0無值
·那麼上乙個工廠只可能是第i-1個時刻到達
·如果上乙個工廠也不買機械人的話,那麼只有可能通過再前面的買了機械人的工廠走到這,因為機械人的的步數不能超過p,則我們可以再設一狀態輔助·設t
i,j表示第i時刻到達第j個工廠,不買機械人時之前買了的機械人已經走過的步數,如述,
ti-1,j必須要小於p
·如果被
fi-1,j-1,0更新,則
ti,j=ti-1,j+1
·如果被
fi-1,j-1,1更新,則
ti,j=2(乙個隱含條件p>1)
·接下來討論
fi,j,1,很明顯,當前如果買機械人的話,你前面再怎麼瞎搞都與當前時刻無關,所以就把前面算過的所有數當中的最大值記錄下來即可,
ti,j=1
·最後需注意,不一定全走完
m個時間,取所有最大值即可,其次,當
i=1的時候,很明顯更新不了
fi,j,0,f
i-1,j-1,0
只有在i>2
的時候才有效,且
f的初值應設為無窮小
難度:****
NOIP2009 道路遊戲
小新正在玩乙個簡單的電腦遊戲。遊戲中有一條環形馬路,馬路上有 n n n 個機械人工廠,兩個相鄰機械人工廠之間由一小段馬路連線。小新以某個機械人工廠為起點,按順時針順序依次將這 n n n 個機械人工廠編號為 1 n 1 n 1 n,因為馬路是環形的,所以第 n n n 個機械人工廠和第 1 1 1...
洛谷 P1131 選擇客棧
題目描述 麗江河邊有n 家很有特色的客棧,客棧按照其位置順序從 1 到n 編號。每家客棧都按照某一種色調進行裝飾 總共 k 種,用整數 0 k 1 表示 且每家客棧都設有一家咖啡店,每家咖啡店均有各自的最低消費。兩位遊客一起去麗江旅遊,他們喜歡相同的色調,又想嘗試兩個不同的客棧,因此決定分別住在色調...
NOIP2009 靶形數獨
爆搜沒什麼好說的。剪枝思路 一開始將每個點可能取的值的數量統計出,排序,從小到大搜 然後貪心可行性 就是剩下的地方都填9,得分10 不過在vj上測85。日。加了卡時,2e7次之內跳出,總算過了。include include include include include include inclu...