Initial commit

This commit is contained in:
2025-03-14 22:39:32 +08:00
commit 7b1e0f329e
38 changed files with 1153 additions and 0 deletions

33
14lanqiao/test5-1.cpp Normal file
View File

@@ -0,0 +1,33 @@
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int ft[N], bk[N], dp[N];
/*
ft[i]第i个元素的首数字、bki第i个元素尾数字
类LIS问题的DP解法-时间复杂度0(n^2)
状态 dp[i] 以第主个元素作为结尾的最长接龙数列的长度
状态转移方程 dp[i] = max(dp[i], dp[j]+1);
*/
int main(){
int n; cin >> n;
string s;
for(int i = 1; i<=n; i++){
cin >> s;
ft[i] = s.front() - '0', bk[i] = s.back() - '0', dp[i] = 1;
}
int mx = 1;
for(int i = 2; i <= n; i++){
for(int j = 1; j < i; j++){
if(bk[j] == ft[i]){
dp[i] = max(dp[i], dp[j] + 1);
}
mx = max(mx, dp[i]);
}
}
cout << n - mx << endl;
return 0;
}
/* test samples 易超时
5
11 121 22 12 2023
*/