codevs3958 火車進站

2021-08-01 03:51:29 字數 935 閱讀 2465

有一種學會演算法的方法叫意會

有一種證明複雜度的方法叫目測

有一種推出狀態轉移方程的方法叫腦補

——-沃茲基朔德

首先我們瞧瞧資料範圍…m<=3,那麼肯定是要我們列舉每一種m的情況了。首先我們把火車按照出站時間排個序。然後我們隨意腦補一下:

當m=1時

令f[i]表示站內停靠i號火車時最多進入火車。

很容易腦補出:f[i]=max(f[j]+1); (j在i進站前出站)

當m=2時

令f[i][j]表示站內停靠i,j號火車時最多進入火車。

很容易又腦補出:f[i][j]=max(f[k][i]+1);(k在j進站前出站)

當m=3時

令f[i][j][k]表示站內停靠i,j,k號火車時最多進入火車。

再次腦補:f[i][j][k]=max(f[t][i][j]+1);(t在k進站前進站)

然後處理一下可以停三輛車卻只停兩輛的情況,具體看**吧。

#include

#include

#include

#include

#include

#include

using

namespace

std;

int read()

int n,m,ans;

struct nodetri[105];

bool cmp(node a,node b)

}else

if(m==2)

}else

if(m==3)

}printf("%d",ans);

return

0;}

CodeVS3958 火車進站

時間限制 1 s 空間限制 256000 kb 題目等級 大師 master 火車站內往往設有一些主幹線分叉出去的鐵路支路,供火車停靠,以便上下客或裝載貨物。鐵路支路有一定長度 火車也有一定的長度,且每列火車的長度相等。假 設某東西向的鐵路上,有一小站。該站只有一條鐵路支路可供火車停靠,並且該鐵路支...

火車進站問題

給定乙個正整數n代表火車數量,0 比如火車進站 序列問題 c include include include include using std stack using std vector using namespace std bool ispoporder const int put orde...

火車進站問題

描述 給定乙個正整數n代表火車數量,0 知識點棧 執行時間限制 0m記憶體限制0輸入 有多組測試用例,每一組第一行輸入乙個正整數n 0 輸出輸出以字典序排序的火車出站序列號,每個編號以空格隔開,每個輸出序列換行,具體見sample。樣例輸入 31 2 3 樣例輸出 1 2 3 1 3 2 2 1 3...