QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#332053 | #1369. Longest Common Subsequence | ishmeal# | AC ✓ | 163ms | 12448kb | C++14 | 753b | 2024-02-19 07:11:30 | 2024-02-19 07:11:31 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
int main() {
cin.tie(0)->ios_base::sync_with_stdio(0);
int n, k; cin >> n >> k;
vector<int> next(k, (1<<k)-1);
while (n--) {
int state = (1<<k)-1;
for (int i = 0; i < k; i++) {
char c; cin >> c;
state ^= (1<<(c-'A'));
next[c-'A'] &= state;
}
}
priority_queue<pair<int,int>> pq; // cnt, state
pq.emplace(k, (1<<k)-1);
map<int,int> ans;
while (pq.size()) {
auto [_,state] = pq.top(); pq.pop();
for (int i = 0; i < k; i++) {
if (state & (1 << i)) {
int nstate = state ^ (1 << i);
nstate &= next[i];
ans[nstate] = max(ans[nstate], ans[state]+1);
if (nstate) {
pq.emplace(__builtin_popcount(nstate), nstate);
}
}
}
}
cout << ans[0] << '\n';
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3768kb
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: 1ms
memory: 3548kb
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: 1ms
memory: 3632kb
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: 163ms
memory: 12448kb
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: 1ms
memory: 3788kb
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: 1ms
memory: 3604kb
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: 1ms
memory: 3528kb
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: 24ms
memory: 4208kb
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: 1ms
memory: 3556kb
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: 2ms
memory: 3592kb
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: 1ms
memory: 3752kb
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: 2ms
memory: 3784kb
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: 0ms
memory: 3548kb
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: 0ms
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: 0ms
memory: 3552kb
input:
30 26 ABCDEFGHIJPLMNOKQRSTUVWXYZ ABCDEFGHSJKLMNOPQRITUVWXYZ ABCDEFGHIJKLMNOPQRSTUVXWYZ ABCDEFGHIJKLMNOPQRSTUVWXZY LBCDEFGHIJKAMNOPQRSTUVWXYZ ASCDEFGHIJKLMNOPQRBTUVWXYZ ABCNEFGHIJKLMDOPQRSTUVWXYZ ABCDEFGHIJNLMKOPQRSTUVWXYZ WBCDEFGHIJKLMNOPQRSTUVAXYZ APCDEFGHIJKLMNOBQRSTUVWXYZ ABJDEFGHICKLMNOPQRSTUVWX...
output:
8
result:
ok single line: '8'