解題思路
l2-014 列車排程(25 分)
火車站的列車排程鐵軌的結構如下圖所示。
兩端分別是一條入口(entrance)軌道和一條出口(exit)軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道進入,最後從出口離開。在圖中有9趟列車,在入口處按照的順序排隊等待進入。如果要求它們必須按序號遞減的順序從出口離開,則至少需要多少條平行鐵軌用於排程?
輸入格式:
輸入第一行給出乙個整數n (2 <= n <= 10^5^),下一行給出從1到n的整數序號的乙個重排列。數字間以空格分隔。
輸出格式:
在一行中輸出可以將輸入的列車按序號遞減的順序調離所需要的最少的鐵軌條數。
輸入樣例:
9
8 4 2 5 3 9 1 6 7
輸出樣例:
4
解題思路:
通過模擬可以發現每進一輛車,將其新增到已有軌道上隊尾編號大於它的並且編號盡量小的那個軌道上。如果無法新增,則新開一條軌道。
這題剛開始我是用陣列做的但是超時了。
所以這裡用了set避免查詢時所用時間過多,並且set有自動排序功能,可以使用lower_bound(x)來查詢序列中第乙個大於等於x的值,如果找到了就會範圍*it,沒找到就會返回end()。
**:
#includeusing namespace std;
int main()}}
printf("%d\n",s.size());
return 0;
}
PAT 天梯賽 L2 014 列車排程
時間限制 300 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越火車站的列車排程鐵軌的結構如下圖所示。figure 兩端分別是一條入口 entrance 軌道和一條出口 exit 軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道進...
PAT 天梯賽 L2 014 列車排程 佇列
題目鏈結 思路 其實 每條火車道 都可以視為乙個佇列 滿足佇列的性質 當已經存在的佇列 中 的列車序號 都小於 當前需要入隊的列車序號時 或者一開始 本來就沒有佇列的情況下 就需要新增佇列 如果目前的佇列中存在列車序號 大於 當前入隊的列車 那麼替換那個最小的 大於當前入隊列車序號的 佇列序號 然後...
PAT 天梯賽 L2 014 列車排程 佇列
題目鏈結 思路 其實 每條火車道 都可以視為乙個佇列 滿足佇列的性質 當已經存在的佇列 中 的列車序號 都小於 當前需要入隊的列車序號時 或者一開始 本來就沒有佇列的情況下 就需要新增佇列 如果目前的佇列中存在列車序號 大於 當前入隊的列車 那麼替換那個最小的 大於當前入隊列車序號的 佇列序號 然後...