題目:列車排程
思路:
如何能使軌道數最少?就是每次進入乙個數字,看存在的軌道的是有沒有比當前值大的,大的話把當前值替換當前軌道即可,如果沒有就需新增軌道!
樣例:8 4 2 5 3 9 1 6 7
1 2 4 8
3 56 9
需用4個軌道即可按遞減輸出了!
所以按以上思路:輸入乙個值,看當前所有軌道是否有大於前前值的,有的話替換當前軌道值,否則新增軌道
這裡需要用set集合實現,否則超時了。。。因為set集合中有乙個函式:lower_bound() 可以查出當前集合中有沒有比要查的值大的值,有的話直接返回此值,這樣我們就可以將此值刪除,然後將當前值加入集合,最後的集合長度即為軌道數了!
參考:心向陽光2014部落格
**:
#include #include #include #include using namespace std;
sets;
int main()
{ int n,fig;
scanf("%d",&n);
for(int i=0;i
L2 014 列車排程 set 應用
l2 014 列車排程 25 分 火車站的列車排程鐵軌的結構如下圖所示。兩端分別是一條入口 entrance 軌道和一條出口 exit 軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道進入,最後從出口離開。在圖中有9趟列車,在入口處按照的順序排隊等待進入。如果要求它們必須按序號遞減...
L2 014 列車排程
時間限制 300 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 火車站的列車排程鐵軌的結構如下圖所示。figure 兩端分別是一條入口 entrance 軌道和一條出口 exit 軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道...
L2 014 列車排程
火車站的列車排程鐵軌的結構如下圖所示。兩端分別是一條入口 entrance 軌道和一條出口 exit 軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道進入,最後從出口離開。在圖中有9趟列車,在入口處按照的順序排隊等待進入。如果要求它們必須按序號遞減的順序從出口離開,則至少需要多少條...