QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#331352 | #1369. Longest Common Subsequence | ltz# | AC ✓ | 8ms | 11640kb | C++14 | 2.0kb | 2024-02-18 05:56:38 | 2024-02-18 05:56:38 |
Judging History
answer
#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <stack>
#define MAXN 100005
#define MAXS 26
#define ll long long
using namespace std;
int n, k, d[MAXS];
bool a[MAXN][MAXS][MAXS], ans[MAXS][MAXS];
vector<set<int> > inAdj(26, set<int>());
vector<set<int> > outAdj(26, set<int>());
void solve() {
cin >> n >> k;
string s;
int x, y;
for (int i = 0; i < n; ++i) {
cin >> s;
for (int j = 0; j < s.size() - 1; ++j) {
for (int k = j + 1; k < s.size(); ++k) {
x = s[j] - 'A';
y = s[k] - 'A';
a[i][x][y] = 1;
}
}
}
for (int j = 0; j < MAXS; ++j) {
for (int k = 0; k < MAXS; ++k) {
ans[j][k] =1;
}
}
for (int i = 0; i < n; ++i) {
for (int j = 0; j < MAXS; ++j) {
for (int k = 0; k < MAXS; ++k) {
ans[j][k] &= a[i][j][k];
}
}
}
// printf("chept1: ------\n");
for (int j = 0; j < MAXS; ++j) {
for (int k = 0; k < MAXS; ++k) {
// printf("%d %d\n", j, k);
if (ans[j][k]) {
inAdj[k].insert(j);
outAdj[j].insert(k);
}
}
}
// printf("chept2: ------\n");
queue<int> q;
for (int i = 0; i < MAXS; ++i) {
if (inAdj[i].size() == 0) {
q.push(i);
d[i] = 1;
}
}
int u, v;
while (!q.empty()) {
u = q.front(); q.pop();
for (int v: outAdj[u]) {
d[v] = max(d[v], d[u] + 1);
inAdj[v].erase(u);
if (inAdj[v].size() == 0) q.push(v);
}
}
int ret = 1;
for (int i = 0; i < MAXS; ++i) {
ret = max(ret, d[i]);
}
cout << ret << endl;
}
int main() {
int _ = 1;
//cin >> _;
while(_--) {
solve();
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 3ms
memory: 8252kb
input:
6113 13 DALIBKGHEMJFC DAHLIBKGEMJFC DALIBKGEMJFHC DAHLIBKGEMJFC DALIBHKGEMJFC DALHIBKGEMJFC DHALIBKGEMJFC DALIBKGEHMJFC DAHLIBKGEMJFC DALIHBKGEMJFC DALIBKHGEMJFC DALIHBKGEMJFC DALHIBKGEMJFC DALIBKGEMJFCH DALIBKGEMJHFC DAHLIBKGEMJFC DALIBKGEMJFHC DALIBKGEMHJFC DALIBHKGEMJFC DALIBKHGEMJFC DALIBKGEMHJF...
output:
12
result:
ok single line: '12'
Test #2:
score: 0
Accepted
time: 2ms
memory: 5768kb
input:
3041 4 DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DACB DAC...
output:
4
result:
ok single line: '4'
Test #3:
score: 0
Accepted
time: 0ms
memory: 6232kb
input:
2958 22 NSRIBATQJPGELDKFVCHMUO MHNSDRUKBAFTCQJPIGELVO NSRKIUBATMQJCPHGLFVEOD NSREUBATQKJFHPGLMDVOCI UFNSRBEDATCQKJPGHMLVIO NSRBAKEMCITHQJUPGLFVDO NSKCRBUATFDQHJPMGLIVEO MNSKFRHBAETQJPDIGUCLVO NMSRBHACTDEKUQJFPIGLVO KNSRBMACTQUIJPFGDLVEHO NSMDRBACTKHIQJPFGLEVOU NSCRBEATQDJPGLKVOMUFHI UINSRCBEFKATDQJP...
output:
13
result:
ok single line: '13'
Test #4:
score: 0
Accepted
time: 4ms
memory: 6796kb
input:
4135 23 VBHFGJNLEDPKCTIWQUORSMA VJBHFGNLEDPKCTIWQUORSMA VBHFGNLEDJPKCTIWQUORSMA VBHFGNLEDPKCTIWQUORSMAJ VBHFGNLEDPKCTIJWQUORSMA VBHFGNLEDPJKCTIWQUORSMA VBHFGNLEDPKCTIWQUJORSMA VBHFGNLEDPKCTIWQUJORSMA VBHFGNLEDPKCTIWQUORSJMA VBHFGNLEDPKCTIWQUORSMAJ VJBHFGNLEDPKCTIWQUORSMA VBHFGNLEDPKCTIWQUOJRSMA VBHF...
output:
22
result:
ok single line: '22'
Test #5:
score: 0
Accepted
time: 0ms
memory: 5988kb
input:
1204 22 HKOETNMUFJSLGVRABIDCQP RIKUNMLJAFVHPEGOSBDCQT KSBRCTEJUNOIMHLPFAGDVQ KBNOMLVACUGTFRSDEPJQIH HKGJNVMLFSOTIARPEDBCQU VRBSFKNOCGMTHILJPAEDUQ JCKSERGNFPBOMIHVLAUDQT THKECNGIMPRLUFOSABDJQV FKCSNTGPEVBMLJIOHRAUDQ KNHSFCTVBORIMEGLUAJDQP KNIFHGMROLUSPECABVTDJQ IBKFUEJNHVSOCPGMLADRQT KHNRUMBIGELATSDC...
output:
7
result:
ok single line: '7'
Test #6:
score: 0
Accepted
time: 0ms
memory: 9400kb
input:
8807 13 CBFJLDIKAEMHG CFJLDIBAEKMHG CFBJLDKIAMHEG KCFJLDIABEMHG CBKFJLDIAMHGE ECBFJKLDIAMHG CFJLDIAMBKHGE CFJKLDIBAMEHG CFBJLEDIAMHGK CFJLEDBIAMKHG CBFJLDIAMKHEG CFJLDEIAKMBHG BCFJLEDIKAMHG CEFBKJLDIAMHG ECKFJLDBIAMHG CFKJELDBIAMHG CFJBLDKIEAMHG ECFJLDIBAMHKG KCFEBJLDIAMHG CFKJLDEBIAMHG CBFJLDIKAMHE...
output:
10
result:
ok single line: '10'
Test #7:
score: 0
Accepted
time: 0ms
memory: 11640kb
input:
9495 2 BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA BA...
output:
2
result:
ok single line: '2'
Test #8:
score: 0
Accepted
time: 8ms
memory: 11492kb
input:
9360 26 YTUSFHBJZRQWKNCLDMAPVXEGOI YUEFHJSMZRQKCWLDAPTVXGOBNI BYUFHSTJZRNWQKCLDAPVXGOIEM YUSFBHJZNWRQKCMLDEAPTVXGOI YUFHJZERBQTKCLDMAWNPVXSGOI YUNTMFHJZRQKCLDSBAPEWVXGOI YUFNEHJZWRSQKCMLDTAPBVXGOI MYUFHBJZRQTKCLDWSAPVXGONIE YWUFHJZNERQKMCLDBSAPVXGOTI SYUFHJNZRQKCLDAPVXMWGEOITB YUTFHJZRQKCLDBEAPVXGWO...
output:
19
result:
ok single line: '19'
Test #9:
score: 0
Accepted
time: 2ms
memory: 6036kb
input:
1869 24 CUPLKEBMFTNWVSJHAIRXGODQ ODEUPXCKBWSTMNVLIFQJHRAG UPEBTLIONWDQAXVKJSFHCMRG AUXKPOBTNVIWSLJMHEQRCDFG FUOPDBQTNCLVJHMEXKAISRGW WCMULIAPBTNESOQFKVXJDHRG UAWPFMKBSXTNEVLJCHRQGDOI IEUXSCPWABTNMVJFQKOHDRGL WXCUPBMTKNVJFOEHQLRADGIS UPABTNMVWSIKCDXFJHREOLQG IUPQEFBSXWTMNKDCOAVJLHRG OUPDBXATCNWIFVKLJ...
output:
10
result:
ok single line: '10'
Test #10:
score: 0
Accepted
time: 5ms
memory: 8716kb
input:
6641 25 NBDJWKSGTYVECRXILAHMPUOQF MNLFDRJQYKXWHOIEVCAPSTBGU DICTHLGSBWOMQRNEUXFKVAYJP TUKOSJCEIMDLBRXGWYANVHPQF LDMBHRVJCWXQUYESTAPFINGOK DBSUOQJRHYWXFNMAVGCPILEKT DROFXAGYSVHKMEPIJNBLQUCWT VLOGDNRCBIKSJWTXQEUYFAHMP ODJTRFQLIVWBXGEAHYPUNSKCM VIOGFUDNKBTRYHCSEXMLAJWPQ GHFLDMIJOYVUQNKBTRXAWCSEP HKDBRV...
output:
5
result:
ok single line: '5'
Test #11:
score: 0
Accepted
time: 3ms
memory: 10924kb
input:
9529 2 AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB AB...
output:
2
result:
ok single line: '2'
Test #12:
score: 0
Accepted
time: 0ms
memory: 10448kb
input:
7625 20 DSMPGROAEIFBCTQLHNKJ DTKAPBLGREQIMCJNHOSF FIAGMHLQJRBTEDNPKOSC SAQLKCGBJTNEFMODIPHR HIKNRDQJGBPTEAFLSMCO NDACRFPKSGLIQHOETBJM IHLBONDQCSFAKTGEJRPM PCKTARIOENDMJGQSHFLB RNGJTKSPMBEOFLAQICDH KIBPASJFHTCQRNGMLDOE MJGDBOQRTNHKFSIALCEP CAIGLKNBFHEOPQMRTSDJ QTJFBGNISCADOPHMKLER TKSJCIBOQMNLREPGHAD...
output:
1
result:
ok single line: '1'
Test #13:
score: 0
Accepted
time: 1ms
memory: 4008kb
input:
300 26 ABCDTFGHIJKLMNOPQRSEUVWXYZ ABCDEFGNIJKLMHOPQRSTUVWXYZ ABCDEFIHGJKLMNOPQRSTUVWXYZ IBCDEFGHAJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLTNOPQRSMUVWXYZ ABCDEFGKIJHLMNOPQRSTUVWXYZ ABCDEFGKIJHLMNOPQRSTUVWXYZ ABCDEFGHIJLKMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRTSUVWXYZ ABRDEFGHIJKLMNOPQCSTUVWXYZ ABVDEFGHIJKLMNOPQRSTUCW...
output:
1
result:
ok single line: '1'
Test #14:
score: 0
Accepted
time: 1ms
memory: 3812kb
input:
300 26 ABCDEFGHIJTLMNOPQRSKUVWXYZ ABCDEFGHIJKLMNSPQROTUVWXYZ ABCDEFGHIJKLMYOPQRSTUVWXNZ MBCDEFGHIJKLANOPQRSTUVWXYZ ABCDEFGHIZKLMNOPQRSTUVWXYJ ABCDEFGHIJLKMNOPQRSTUVWXYZ ABCDEKGHIJFLMNOPQRSTUVWXYZ AFCDEBGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSVUTWXYZ ABCDEFGHIJKLMNOQPRSTUVWXYZ AHCDEFGBIJKLMNOPQRSTUVW...
output:
2
result:
ok single line: '2'
Test #15:
score: 0
Accepted
time: 1ms
memory: 3516kb
input:
30 26 ABCDEFGHIJPLMNOKQRSTUVWXYZ ABCDEFGHSJKLMNOPQRITUVWXYZ ABCDEFGHIJKLMNOPQRSTUVXWYZ ABCDEFGHIJKLMNOPQRSTUVWXZY LBCDEFGHIJKAMNOPQRSTUVWXYZ ASCDEFGHIJKLMNOPQRBTUVWXYZ ABCNEFGHIJKLMDOPQRSTUVWXYZ ABCDEFGHIJNLMKOPQRSTUVWXYZ WBCDEFGHIJKLMNOPQRSTUVAXYZ APCDEFGHIJKLMNOBQRSTUVWXYZ ABJDEFGHICKLMNOPQRSTUVWX...
output:
8
result:
ok single line: '8'