1869 93998 900 368136851
aoyqashhquraeakciklzxikmassmpwlgaoaqzegwoakganffabaesiiqsiexupmeamzreaadtsm
<1307330 bytes omitted>
用户输出
235658071517
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#23253 | #1134. ddd的回文串 | Accepted | 100 | 644 ms | 10644 K | C++ 11 / 1.9 K | docriz🦆 | 2020-02-16 14:14:15 |
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100005;
int n, m, k, T;
char s[MAXN];
int dis[50][50], minCost[50][50];
int sum[30][MAXN];
int getL(int x) {
int res = -1;
res = max(res, x - k + 1);
if (x <= k)
res = max(res, 1 + k - x);
return res;
}
int getR(int x) {
int res = n + 1;
res = min(res, x + k - 1);
if (x >= n - k + 1)
res = min(res, 2 * n - k + 1 - x);
return res;
}
int getNewPos(int x) {
if (x % 2)
return (x + 1) / 2;
else
return (n + 1) / 2 + x / 2;
}
int main() {
scanf("%d %d %d %d", &n, &m, &k, &T);
scanf("%s", s + 1);
for (int i = 1; i <= 26; i++) {
for (int j = 1; j <= 26; j++) {
minCost[i][j] = INT_MAX / 2;
if (i == j)
dis[i][j] = 0;
else
dis[i][j] = T;
}
}
for (int i = 1; i <= m; i++) {
char ch1[3], ch2[3];
int c;
scanf("%s %s %d", ch1, ch2, &c);
int v1 = ch1[0] - 'a' + 1;
int v2 = ch2[0] - 'a' + 1;
dis[v1][v2] = min(dis[v1][v2], c);
}
for (int k = 1; k <= 26; k++) {
for (int i = 1; i <= 26; i++) {
for (int j = 1; j <= 26; j++) {
dis[i][j] = min(dis[i][j], dis[i][k] + dis[k][j]);
}
}
}
for (int i = 1; i <= 26; i++) {
for (int j = 1; j <= 26; j++) {
for (int k = 1; k <= 26; k++) {
minCost[i][j] = min(minCost[i][j], dis[i][k] + dis[j][k]);
}
}
}
for (int i = 1; i <= n; i++) {
sum[s[i] - 'a' + 1][getNewPos(i)]++;
}
for (int j = 1; j <= 26; j++) {
for (int i = 1; i <= n; i++) {
sum[j][i] += sum[j][i - 1];
}
}
long long ans = 0;
for (int i = 1; i <= n; i++) {
int l = getL(i), r = getR(i);
l = getNewPos(l), r = getNewPos(r);
for (int j = 1; j <= 26; j++) {
int cnt = sum[j][r] - sum[j][l - 1];
ans += 1LL * cnt * minCost[s[i] - 'a' + 1][j];
}
}
printf("%lld\n", ans / 2);
return 0;
}
1869 93998 900 368136851
aoyqashhquraeakciklzxikmassmpwlgaoaqzegwoakganffabaesiiqsiexupmeamzreaadtsm
<1307330 bytes omitted>
用户输出
235658071517
系统信息
Exited with return code 0
1974 98954 968 854839460
vimioksqdackekoiogisymgukwkmbmzvwmzgqoscqnpmzqsgaeyynxojyakemeakcqwczceneyq
<1376323 bytes omitted>
用户输出
225166532417
系统信息
Exited with return code 0
1890 90296 900 379213088
iqbiiepvmvelcknexeylwonjpynywravcqacaetkyzkccteawoaueqwgeucolcuoetsgumibmmg
<1256103 bytes omitted>
用户输出
257365236272
系统信息
Exited with return code 0
1867 98533 913 379089763
qmbhosqejvcnwloltoamiuzmzgizcyujgdqkuailfmknnsyumwpygneybdgonyxqsynesgeoeso
<1370183 bytes omitted>
用户输出
167645870596
系统信息
Exited with return code 0
1971 95944 947 812056313
kwoeuyjoceseuqbgfeascwmpamynqmgafnowkhuqsmojotkswsshacsieaukaqwedfcgsmidmme
<1334566 bytes omitted>
用户输出
199103971214
系统信息
Exited with return code 0
1809 94391 901 913811389
gmuozeaxqigaxzoiekiopsjkmwklskarxcadkoxqiculgifwaikmqdmaswuwkhzawpicepmupiq
<1312733 bytes omitted>
用户输出
245828151524
系统信息
Exited with return code 0
96275 94290 46452 21716561
aotvefmmaszastfwmktmeokiqjfsbiargmhtybkwwniqywqayywmeocemeacwrsakqqqmqnny
<1405742 bytes omitted>
用户输出
669440109451668
系统信息
Exited with return code 0
99039 90167 45356 432557883
sxaufacaqcyywskiauamomyknwickqmcgaretyuoabetekacggbaaxeumuimoxaetcacuoqk
<1351226 bytes omitted>
用户输出
645817074484703
系统信息
Exited with return code 0
91199 97743 45072 913975116
wvpfsqnaogagamamswyhmuweafagvaxqiksgmkpwaicuzaujunenzdnhoicwygmodaatygnm
<1448730 bytes omitted>
用户输出
506803744711132
系统信息
Exited with return code 0
99108 95604 47408 636114061
iwiaiggkuwnakugunakmccuvsgyfwiwccyeukkmedmqabdxlmmktrdixwzqivmwmeusjkois
<1426935 bytes omitted>
用户输出
582014501328894
系统信息
Exited with return code 0
91278 95295 45439 257640309
aakpiahfmscdwpemgrgaudoaoawinqadeagvwnsrkaywdmkvsajayskhmaffztywiyqiokol
<1414883 bytes omitted>
用户输出
442083747025033
系统信息
Exited with return code 0
96636 94520 46300 357047255
vrntaamcuauwuqyykaybtkrlwnjwpfgoaoumszduzoowiwvppmfefmuoxauastcxicqfaeha
<1409214 bytes omitted>
用户输出
558344083111282
系统信息
Exited with return code 0
91079 90668 45420 576653687
wezoeujyagmumepihcofomaiawgvilngqmaikcaasycqrynzaoyqjudygjxuhwmngunawlyw
<1350290 bytes omitted>
用户输出
538789922907646
系统信息
Exited with return code 0
93891 97160 46627 796794884
guugmceolylqvyooaaymecapunxqqtmkcxevmoofwuyfemiaawsmmgqkmkidapcneiakrthn
<1443449 bytes omitted>
用户输出
469006808697808
系统信息
Exited with return code 0
95017 92640 46777 259673790
fjsgoxgoywwuanadqopbkapxnsgertagmeogsgawwqqscsovzjqtakoiuucrlansiyfpirwj
<1381464 bytes omitted>
用户输出
437550575218548
系统信息
Exited with return code 0
92540 96663 45586 392541641
aaaaedaivgvgnaikgeipgoxvcvmxtyamuawaicwnmomskcguiadgbarlgkazkfsaraoytkmy
<1434823 bytes omitted>
用户输出
503992149083265
系统信息
Exited with return code 0
97373 93795 47953 463547353
cyllysjenhgpygsakncoaisdyaaqjqwvuwrvlglyiqnncleogoqicweiaexibraomnbeaqkc
<1400168 bytes omitted>
用户输出
987280699937697
系统信息
Exited with return code 0
96183 91174 47474 413948014
xacdikjckmifayuikmneohqmqybqxaassekygwqeqqktjyiihmxaocqacgqswqfoqnaayoim
<1362412 bytes omitted>
用户输出
692996779148754
系统信息
Exited with return code 0
97842 94434 48193 889116164
uwhyaauecxflqoyhwnfqicpqjktktagguhkciyokwovdmmagdmaiinyrikoikycvuaqiyiay
<1409658 bytes omitted>
用户输出
752717899660312
系统信息
Exited with return code 0