uva-1025、uva-437、uva-1347、uva-116、uva-12563



比賽鏈接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=62369#overview



uva-1025.

間諜坐火車。紫書例題9-1.

題意:有個間諜從火車站1出發。給出每兩段車站之間要用的時間和發車時間。要求在時間T時到達第n個車站。在這段時間,她要儘可能地呆在行駛着的火車上,使她在各個車站停留的時間最小,問停留時間最小是多少。

解法:

1、用動態規劃。設dp[i][j]表示當前狀態爲在時間i到達第j個車站。那麼接下來有三種決策。

在車站等一分鐘:

dp[i+1][j] = min (dp[i+1][j],dp[i][j] + 1);  
坐上往右開的火車:
dp[i+t[j]][j+1] = min(dp[i][j],dp[i + t[j]][j+1]);

坐上往左開的火車:

dp[i+ t[j-1]][j-1] = min(dp[i][j], dp[i + t[j-1]][j-1]);

2、判斷能否坐上火車時,要先預處理好在i時刻有沒有火車剛好到達j車站。

教訓:

1、是在“T時刻”到達n!不是在“T時刻之前”到達n!就這英語水平還能過六級我也是醉了。

2、把hastrain[path][N][1] = 1;打錯成hastrain[path][N][0] = 1;了。主要是我兩個相同的代碼複製下來,不同之處沒改全。

3、j改成j-1之後,有個地方漏改了!還是j.

4、以後還是想!!清!!楚!!再上手寫吧。免得改來改去會漏改一些地方。





uva-437

選磚塊壘高高的柱子。

吐槽一下:立方體是六個面都是正方形的啊喂!維基百科在此:http://zh.wikipedia.org/zh-cn/%E7%AB%8B%E6%96%B9%E9%AB%94   劉汝佳居然寫的是長寬高不一樣的“立方體”。對了。維基百科是純公益的,非常令人佩服的,不靠任何廣告收入來維持的,如果大家有閒錢,可以去捐贈一下。

題意:給你n種磚塊,每種都有無窮多個。要求壘一個儘可能高的柱子。使得每個面的長寬都嚴格大於它上面的那個磚塊的長寬。

解法:

1、把所有的面都用一個數字表示。共有3n個數字

2、把嚴格小於的兩個面之間連一條邊。(這個方法好棒呀!我怎麼沒想到!)

3、






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