PAT L2 014 列車排程 最長上公升子串行

2021-08-17 11:52:59 字數 724 閱讀 1472

火車站的列車排程鐵軌的結構如下圖所示。

兩端分別是一條入口(entrance)軌道和一條出口(exit)軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道進入,最後從出口離開。在圖中有9趟列車,在入口處按照的順序排隊等待進入。如果要求它們必須按序號遞減的順序從出口離開,則至少需要多少條平行鐵軌用於排程?

輸入格式:

輸入第一行給出乙個整數n (2 <= n <= 105),下一行給出從1到n的整數序號的乙個重排列。數字間以空格分隔。

輸出格式:

在一行中輸出可以將輸入的列車按序號遞減的順序調離所需要的最少的鐵軌條數。

輸入樣例: 9

8 4 2 5 3 9 1 6 7

輸出樣例: 4

題意:求最少的多個最長遞減的子串行,本來是打算利用最長上公升子串行的變形來解決最長遞減,後來發現可以反面出發。求多個最長遞減==求乙個最長遞增子串行

思路:最長遞增子串行+二分

#include#define n 100005

using namespace std;

int len,a[n],dp[n];

int main()

}printf("%d\n",len);

}return 0;

}

patl2 014 列車排程

解題關鍵 由dilworth定理 最小反鏈劃分 最長鏈 可知最少的下降序列個數就等於整個序列最長上公升子串行的長度,此題即轉化為求最長上公升子串行的長度。include include include include include include define inf 0x3f3f3f3f usi...

PATL2 014 列車排程 二分查詢

在做這個題的時候,首先要知道在stl中有可以實現二分查詢的快速函式,常使用的有四種,分別是 這個題就是不斷更新當前所在陣列的最小值,如果輸入的值,比當前元素的最大值大,陣列就多新增乙個數,如果比最大的值小,就使用二分查詢,找到第乙個大於這個值的元素的位置,並且更新這給位置的陣列,使其為當前輸入的數,...

L2 014 列車排程

時間限制 300 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 火車站的列車排程鐵軌的結構如下圖所示。figure 兩端分別是一條入口 entrance 軌道和一條出口 exit 軌道,它們之間有n條平行的軌道。每趟列車從入口可以選擇任意一條軌道...