5-3 列車排程 (25分)
火車站的列車排程鐵軌的結構如下圖所示。
兩端分別是一條入口(entrance)軌道和一條出口(exit)軌道,它們之間有n
條平行的軌道。每趟列車從入口可以選擇任意一條軌道進入,最後從出口離開。在圖中有9趟列車,在入口處按照的順序排隊等待進入。如果要求它們必須按序號遞減的順序從出口離開,則至少需要多少條平行鐵軌用於排程?
輸入第一行給出乙個整數n
(2 \le
≤n
\le 10^5≤1
05
),下一行給出從1到n
的整數序號的乙個重排列。數字間以空格分隔。
在一行中輸出可以將輸入的列車按序號遞減的順序調離所需要的最少的鐵軌條數。
9
8 4 2 5 3 9 1 6 7
4
其中只要會用algorithm函式庫裡的lower_bound函式就好。與之相對應的是upper_bound函式。
lower_bound(陣列首位址a,陣列尾位址a+n,要查詢的數x) 返回的是比x大,或相等的第乙個數的
位址 ,根據英文本意,可以理解為從查詢的位置開始,每乙個比x小的都會跳過,直到找到不比x小的數為止。若找不到,返回陣列位位址a+n
比如有個int a[10], 裡面有8數
要找比不比5小的第乙個數
j=lower_bound(a,a+7,5) 則j==a+4,
要找不比7小的第乙個數
j=lower_bound(a,a+7,7) 則j==a+6;
要找不比10小的第乙個數
j=lower_bound(a,a+7,10) 則j==a+7;
**如下
#include#includeusing namespace std;
int a[100005]=;
int main()
printf("%d\n",num);
}
7 7 列車排程 (25 分)
7 7 列車排程 25 分 火車站的列車排程鐵軌的結構如下圖所示。兩端分別是一條入口 entrance 軌道和一條出口 exit 軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道進入,最後從出口離開。在圖中有9趟列車,在入口處按照的順序排隊等待進入。如果要求它們必須按序號遞減的順序...
7 10 列車排程 (25 分)
火車站的列車排程鐵軌的結構如下圖所示。兩端分別是一條入口 entrance 軌道和一條出口 exit 軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道進入,最後從出口離開。在圖中有9趟列車,在入口處按照的順序排隊等待進入。如果要求它們必須按序號遞減的順序從出口離開,則至少需要多少條...
7 9 列車排程 25分
兩端分別是一條入口 entrance 軌道和一條出口 exit 軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道進入,最後從出口離開。在圖中有9趟列車,在入口處按照的順序排隊等待進入。如果要求它們必須按序號遞減的順序從出口離開,則至少需要多少條平行鐵軌用於排程?輸入格式 輸入第一行...