l2-014 列車排程 (25 分)
火車站的列車排程鐵軌的結構如下圖所示。
兩端分別是一條入口(entrance)軌道和一條出口(exit)軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道進入,最後從出口離開。在圖中有9趟列車,在入口處按照的順序排隊等待進入。如果要求它們必須按序號遞減的順序從出口離開,則至少需要多少條平行鐵軌用於排程?
輸出格式:
在一行中輸出可以將輸入的列車按序號遞減的順序調離所需要的最少的鐵軌條數。
輸入樣例:
98 4 2 5 3 9 1 6 7
輸出樣例:
4要使這一段序列降序輸出,通過的最小幾組降序序列,則求其最長公升序序列長度,詳細見飛彈攔截一題,下面是本題的題解(實際就是飛彈攔截**複製)。
#include
using
namespace std;
#define maxn 100005
int s[maxn]
,n;int
main()
int d[maxn]
,k=1
; d[1]
=s[1];
for(
int i=
2;i<=n;i++
)else
} cout
}
L2 014 列車排程 25 分
火車站的列車排程鐵軌的結構如下圖所示。兩端分別是一條入口 entrance 軌道和一條出口 exit 軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道進入,最後從出口離開。在圖中有9趟列車,在入口處按照的順序排隊等待進入。如果要求它們必須按序號遞減的順序從出口離開,則至少需要多少條...
L2 014 列車排程 25 分
火車站的列車排程鐵軌的結構如下圖所示。兩端分別是一條入口 entrance 軌道和一條出口 exit 軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道進入,最後從出口離開。在圖中有9趟列車,在入口處按照的順序排隊等待進入。如果要求它們必須按序號遞減的順序從出口離開,則至少需要多少條...
L2 014 列車排程 25分
只需要判斷每條軌道上末尾的列車裡,是否有比當前列車序號大的,若有,則找到序號差最小的,放進去 否則只能增加一條軌道。關於演算法的實現,若是用陣列和for迴圈,則會超時。可以用set集合實現 erase iterator 刪除定位器iterator指向的值 erase first,second 刪除定...