有一種學會演算法的方法叫意會首先我們瞧瞧資料範圍…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...