動態規劃 ship

2022-09-14 00:36:25 字數 878 閱讀 1326

palmia國家被一條河流分成南北兩岸,南北兩岸上各有n個村莊。北岸的每乙個村莊有乙個唯一的朋友在南岸,且他們的朋友村莊彼此不同。每一對朋友村莊想要一條船來連線他們,他們向**提出申請以獲得批准。由於河面上常常有霧,**決定禁止船隻航線相交(如果相交,則很可能導致碰船)。你的任務是編寫乙個程式,幫助****決定比準哪些船隻航線,使得不相交的航線數目最大。

輸入有幾組資料組成。每組資料的第一行有2個整數x,y,中間有乙個空格隔開,x代表palmia河的長度(10<=x<=6000),y代表河的寬度(10<=y<=100)。第二行包含整數n,表示分別坐落在南北兩岸上的村莊的數目(1<=n<=5000)。在接下來的n行中,每一行有兩個非負整數c,d,由乙個空格隔開,分別表示這一對朋友村莊沿河岸與palmia河最西邊界的距離(c代表北岸的村莊,d代表南岸的村莊),不存在同岸又同位置的村莊。最後一組資料的下面僅有一行,是兩個0,也被一行空格隔開。

對輸入的每一組資料,輸出最大可能滿足上述條件的航線的數目。

30 4

22 4

2 610 3

15 12

9 817 17

4 20 0

4《問題分析》

兩條線路相交的條件為c1>c2,d1d2。若不相交,則有c1由此先對一邊的村子位置進行排序,再根據序號,找出另一邊村子的最長非降序列。

//ship

#include #include #include struct tp

;int cmp(const void *t1,const void *t2)

int main()

}j=0;

for(i=0;i//printf("\n");

printf("%d\n",j);

}return 0;

}

動態規劃 什麼是動態規劃?

先來看看 資訊學奧賽一本通第5版 是怎麼說的 動態規劃程式設計是對解最優化問題的一種途徑 一種方法,而不是一種特殊演算法。不像前面所述的那些搜尋或數值計算那樣,具有乙個標準的數學表示式和明確清晰的解題方法。動態規劃程式設計往往是針對一種最優化問題,由於各種問題的性質不同,確定最優解的條件也互不相同,...

mysql動態規劃 動態規劃

動態規劃 能夠動態規劃的問題具有以下特點 可分解成規模更小的子問題 子問題的結果可復用 關鍵是要理解狀態轉移方程的含義就好啦!數字三角形 問題描述 在數字三角形尋找從頂到底的路徑,使得路徑經過的數字之和最大。規定每一步只能往左下或右下走,求出最大路徑和。遞迴解法 include include us...

《動態規劃》 ACM 動態規劃例題詳解

描述 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 圖1 圖1給出了乙個數字三角形。從三角形的頂部到底部有很多條不同的路徑。對於每條路徑,把路徑上面的數加起來可以得到乙個和,你的任務就是找到最大的和。注意 路徑上的每一步只能從乙個數走到下一層上和它最近的左邊的那個數或者右邊的那個數。輸...