QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#373476#3665. Watch LaterMogaAC ✓1536ms7928kbC++141.1kb2024-04-01 18:38:242024-04-01 18:38:26

Judging History

你现在查看的是最新测评结果

  • [2024-04-01 18:38:26]
  • 评测
  • 测评结果:AC
  • 用时:1536ms
  • 内存:7928kb
  • [2024-04-01 18:38:24]
  • 提交

answer

#include<bits/stdc++.h>
#define MOGA ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
typedef long long int ll;
typedef long double ld;
using namespace std;
int n, t = 1, k,mask;
string s;
int dp[1 << 20];
vector<int>v(26, -1);
int f_ans(int cmask) {
    if (cmask==mask)
        return 0;
    int& rsl = dp[cmask];
    vector<int>c(20);
    if (rsl == -1) {
        rsl = 1e6;
        char pre = 'A';
        for(auto it:s){
            if (it == pre || (cmask & (1 << v[it - 'a'])))
                continue;
            pre = it;
            c[v[it - 'a']]++;
        }
        for (int i = 0;i < k;i++) {
            if (cmask ^ (1 << i)) {
                rsl = min(rsl, f_ans(cmask | (1 << i)) + c[i]);
            }
        }
    }
    return rsl;
}
void go() {
    cin >> n >> k >> s;
    int cnt = 0;
    mask = (1 << k) - 1;
    memset(dp, -1, sizeof dp);
    for (auto it : s)
        if (v[it - 'a'] == -1)
            v[it - 'a'] = cnt++;
    cout << f_ans(0);
}
int main()
{
    MOGA
      //  cin >> t;
    for (int i = 1;i <= t;i++)
    {
        go();
        cout << '\n';
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 7584kb

input:

4 2
abba

output:

2

result:

ok single line: '2'

Test #2:

score: 0
Accepted
time: 2ms
memory: 7848kb

input:

4 2
rtrt

output:

3

result:

ok single line: '3'

Test #3:

score: 0
Accepted
time: 2ms
memory: 7928kb

input:

10 3
abcbacabac

output:

6

result:

ok single line: '6'

Test #4:

score: 0
Accepted
time: 2ms
memory: 7724kb

input:

9 3
abcbcacab

output:

6

result:

ok single line: '6'

Test #5:

score: 0
Accepted
time: 0ms
memory: 7652kb

input:

9 3
dbccdbbcd

output:

5

result:

ok single line: '5'

Test #6:

score: 0
Accepted
time: 2ms
memory: 7924kb

input:

10 3
acbcabacab

output:

6

result:

ok single line: '6'

Test #7:

score: 0
Accepted
time: 1455ms
memory: 7584kb

input:

400 20
efgfmadpiijgaamlemgqhdnpihlkagkmjkigtmbhafjnedhebthrmlklmbojbkosqhtrslisecfisltebghpnctnjfdbecanrrtileddokkhoocgkaqnctoogdsrqtafehonofcbktacaaercsslcgaroeatplntboornbgkrnchlrgplrbnjnfjqmtcbekcqtlepcqfiaqqffftkpgsdlhahoddrppibscjhtnfncpglhknnicsqqrkmjnfpomeikpckgqlpidftitjpmjqgeamsgjpfsssqgmpq...

output:

308

result:

ok single line: '308'

Test #8:

score: 0
Accepted
time: 1493ms
memory: 7656kb

input:

400 20
otoatqdklbjrgeogbqknqtdrjimhjnodcgmkbjgobqaiisstokecnqrkrettplnnhfegldifqtabgbfsttahakkflhikrebpqhlnjnnmacnambslrmdkirdhcjfagsomidrhjrejaegketercespnssprcpthqldcpqgcilftparljlngmrdmatoshbfhjjsadebljklfmfjqcqkkltqossooiaqehgtosmqaspdkkhfikdhebmprtjhpqcfmpbdndbmkjgrdforerrannibgacqfkigpmthcdjpi...

output:

312

result:

ok single line: '312'

Test #9:

score: 0
Accepted
time: 1536ms
memory: 7924kb

input:

400 20
grfstbcpbeqqnplbeinsleiffhlmaeqmjfnemclngttnsndfollqrfsjcaajesbjspcegjthpolkiptqhcrposnsdklfsksmarqhdncjdlkhrrjrtipbetaorpmcdgkmfcaqnngjapdjsclbmpjcibqnookfaqicrmgsnnoanspdsmgtarcqoehindmmcehaijjgpbaflbkbkoltpbaqaifhjdtmidtakaqilhbjjnnfqnhhqjcqtiohqagjrhdekesftcetdkgmgklidgoemlmiefrfebfokdcrk...

output:

314

result:

ok single line: '314'

Test #10:

score: 0
Accepted
time: 1436ms
memory: 7580kb

input:

400 20
jbjdcsnehpthnmqtbkjsaspnemkohfkgfskdrqqiapgsijcsdadksplhaelanirjodskjpntlconcjihgjegqelmhralrstfskmrsgpompddeonjqekfchmshclpfhssehfnkrmedfrmncsppaeimtcciggprcqchqdfciggotjbpintihbbtaksnnocsklfbmgiccbgopkpdptaerqtjrhenocaqdprgjgogtqlrdimollehipmsbqabiqjfnibgtjltqfhemmlfjkoslhikjsncefmthcdbhogt...

output:

310

result:

ok single line: '310'

Test #11:

score: 0
Accepted
time: 1510ms
memory: 7560kb

input:

400 20
sbballopdokiilpcolsbkmqogsmsnlpnehlscmbnekseniggjgqqhfnlcngakiptpmflrjrbdihltrktrtbbjeaptkphmasfcficoinrracjfqaalrtochjdaeaejgolqrdlhenaidjekjdooosgsqhgjptdhediondbphrptlcrffmepqbjohgitsptemqrsqcmcgpffshfkqammhrckgibnffisfjkepjrbseetddlhgpfqdchdmtcirhfcbdbhkfjosofmiaknjthborrknlokptlbetqknkqg...

output:

309

result:

ok single line: '309'

Test #12:

score: 0
Accepted
time: 1330ms
memory: 7668kb

input:

400 20
dsfqhngaajtlpdbhfbmfqemchqrbpjokodgjdjtsotgecrenmtcnbjbbpgonbrgjionqltdoshcdsiktbkialkisptktnpkslihfaarskrlnfittbdgaifqjgqraqfaclnofthbsafpadsesmjbcrheonkkfnjogdoieppifdpgksmagpinqjlkprqmhmisfmremefhfshiccmeeqlskmebnjkfdhpgclhdeeltnnalbqshhieeipnkpoimbgejeboahmadqqbtldcnfqfcmkpcrilmistatabjgr...

output:

308

result:

ok single line: '308'

Test #13:

score: 0
Accepted
time: 1486ms
memory: 7672kb

input:

400 20
bdagjhnmhjekhsmacdapjkpirienarbljtnfprnegtsspoipqdanbslepjlqhihsefotgojsqckbmbhmdfgfslrolaldjjhgnmkoomehncriifmgebtpopkqcpddnhtscrjkarnrbftgfctacmbjgtsdigsrinlfagkphgmtfthncgqfnbeeidpqnlssoksocrqnacscklqdmiobrjimhsbhaancnmlfiepaiokdrkaekqfgfstbphdcigktklmcmrqppjsqfolcjcjlnrndntpijjfkdqilqtokb...

output:

313

result:

ok single line: '313'

Test #14:

score: 0
Accepted
time: 1471ms
memory: 7672kb

input:

400 20
ddsjfdtthnqeenlmjdoremmhqplolgrpklnrpjtbqpprlffiqphgkfddigkokaorqnogclgbdpnqsbtngjohhqrndbolktgfapifdtakothcqgmlkboqienisgbcddbkannnamredpcgmopjekkpiisohdrciidcfbmqpbqibfsbrfoskcthjhastepokcrcmhqtarsafbgraaeiseljlhlmgsriqemrdmeosmjnppminglsqckllthjribhfreanfsfsfkqmjbkcbkdtemprpksaligiderjcamt...

output:

308

result:

ok single line: '308'

Test #15:

score: 0
Accepted
time: 1489ms
memory: 7852kb

input:

400 20
slamsdgqsgigjadjdhmpmltpqpppjacjedconpkcskmopkamsfmshkicrefgotmnrhkofnleptkbtdchgdfciancdtfllafihkiqpbkkfgnpaslefmnioegqpmphphojkaciscaebnnaejirkdotbhknqtbmethnrbjmiggqjfopbnomdelpgpjtqdkbrimoglrbmrqdtenitfkhnakohnkhmseccooflrehrlcbsblnqfqftaispdshlqihrfmacgjeojdrbcaibesbopnfstdfeoabktghloqsm...

output:

314

result:

ok single line: '314'

Test #16:

score: 0
Accepted
time: 1478ms
memory: 7640kb

input:

400 20
fllnojkpaneaebnikktlmtdpcntsioegtrndbmqjctorbassdrlcfqrqhiisjndgcqghkffdmrrskgmknsgkotqlbmajpajassjriaojdcphookphkpnghankrsggdcfiapcbkjhmofsofqsoborncdcaiepgsbtoiclaljceiqelbclbqgdelfotkhltsdghtrhctoppeidhhabkrmplpninmisrrqergbkpmrbabokgmgbtpmltetoejkftfrcitfefshmtodpemdfkjfglsperljofegdiqqhj...

output:

308

result:

ok single line: '308'