P1439 模板 最長公共子串行(LIS)

2021-10-02 08:41:19 字數 388 閱讀 1008

題目連線:

思路:因為題目資料較大,不能用一般的最長相同子串行來求,所以可以將序列1中的編號放到序列2中,在兩個序列中都遞增的子串行就是最長相同的子串行,所以題目就轉化為求轉化過的bi串的最長上公升子串行就好了。

**:

#include using namespace std;

const int n = 1e5+10;

int a[n],b[n],n,mp[n] = ,id[n] = ;

vector vc;

int main(void)

else

ans = max(ans,sz);

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

return 0;

}

P1439 模板 最長公共子串行

給出1 n的兩個排列p1和p2,求它們的最長公共子串行。第一行是乙個數n,接下來兩行,每行為n個數,為自然數1 n的乙個排列。乙個數,即最長公共子串行的長度 輸入 1複製 5 3 2 1 4 5 1 2 3 4 5輸出 1複製 3 資料規模 對於50 的資料,n 1000 對於100 的資料,n 1...

P1439 模板 最長公共子串行

p1439 模板 最長公共子串行 這個題目我是沒想到反正我感覺十分的神奇先寫一下我在洛谷題解區看見的乙個很好理解的題解 對於樣例 3 2 1 4 5 1 2 3 4 5 我們可以把第乙個陣列編號位a b c d e 那麼第二個陣列就變成了c b a d e 現在對於第二個陣列的最長上公升子串行就是答...

P1439 模板 最長公共子串行

給出1 n的兩個排列p1和p2,求它們的最長公共子串行。輸入格式 第一行是乙個數n,接下來兩行,每行為n個數,為自然數1 n的乙個排列。輸出格式 乙個數,即最長公共子串行的長度 輸入樣例 1 複製 5 3 2 1 4 5 1 2 3 4 5 輸出樣例 1 複製 3 資料規模 對於50 的資料,n 1...