QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#189971 | #4924. 蜘蛛爬树 | hos_lyric# | 8 | 593ms | 200508kb | C++14 | 2.7kb | 2023-09-28 03:25:25 | 2024-07-04 02:10:49 |
Judging History
answer
#include <cassert>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
using namespace std;
using Int = long long;
template <class T1, class T2> ostream &operator<<(ostream &os, const pair<T1, T2> &a) { return os << "(" << a.first << ", " << a.second << ")"; };
template <class T> ostream &operator<<(ostream &os, const vector<T> &as) { const int sz = as.size(); os << "["; for (int i = 0; i < sz; ++i) { if (i >= 256) { os << ", ..."; break; } if (i > 0) { os << ", "; } os << as[i]; } return os << "]"; }
template <class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cerr << *i << " "; cerr << endl; }
template <class T> bool chmin(T &t, const T &f) { if (t > f) { t = f; return true; } return false; }
template <class T> bool chmax(T &t, const T &f) { if (t < f) { t = f; return true; } return false; }
#define COLOR(s) ("\x1b[" s "m")
constexpr Int INF = 2001001001001001001LL;
Int M;
int N, Q;
vector<Int> D;
vector<int> A, B;
vector<Int> C;
vector<Int> L;
vector<int> S, T;
vector<vector<int>> G;
namespace brute {
Int dist[5010][5010];
void dfs(int r, int u, int p, Int d) {
dist[r][u] = d;
for (const int i : G[u]) {
const int v = A[i] ^ B[i] ^ u;
if (p != v) {
dfs(r, v, u, d + C[i]);
}
}
}
vector<Int> run() {
for (int r = 0; r < N; ++r) {
dfs(r, r, -1, 0);
}
vector<Int> ans(Q, INF);
for (int q = 0; q < Q; ++q) {
for (int u = 0; u < N; ++u) {
chmin(ans[q], dist[S[q]][u] + L[q] * D[u] + dist[T[q]][u]);
}
}
return ans;
}
} // brute
int main() {
for (; ~scanf("%d%lld%d", &N, &M, &Q); ) {
D.resize(N);
for (int u = 0; u < N; ++u) {
scanf("%lld", &D[u]);
}
A.resize(N - 1);
B.resize(N - 1);
C.resize(N - 1);
for (int i = 0; i < N - 1; ++i) {
scanf("%d%d%lld", &A[i], &B[i], &C[i]);
--A[i];
--B[i];
}
L.resize(Q);
S.resize(Q);
T.resize(Q);
for (int q = 0; q < Q; ++q) {
Int s, t;
scanf("%lld%lld", &s, &t);
--s;
--t;
L[q] = abs(s / N - t / N);
S[q] = s % N;
T[q] = t % N;
}
G.assign(N, {});
for (int i = 0; i < N - 1; ++i) {
G[A[i]].push_back(i);
G[B[i]].push_back(i);
}
const auto ans = brute::run();
for (int q = 0; q < Q; ++q) {
printf("%lld\n", ans[q]);
}
}
return 0;
}
详细
Subtask #1:
score: 3
Accepted
Test #1:
score: 3
Accepted
time: 1ms
memory: 8216kb
input:
97 99 1000 763118300 558295517 80676328 362318619 473105413 468927175 311496507 936935430 176032966 304576040 308583326 681580095 549392233 518152994 829474320 751189715 542810029 587869244 878512027 530678371 832766129 535259635 799122942 596982955 884696876 605325753 495661541 506105495 561218313 ...
output:
6130845802041 10806758605627 3440559556796 5426989115608 4458875959622 1566659300400 7908007295597 1846030561682 5112206409383 6968388472340 4706970599850 5270158948178 4633066810868 3176122148295 2331646415266 961435137842 14353365296423 9675072605938 4256954122467 7333255321628 8376795894537 12319...
result:
ok 1000 lines
Test #2:
score: 0
Accepted
time: 1ms
memory: 8384kb
input:
96 100 1000 31199641 534644486 57980198 794620020 322548308 524438614 467991232 68617179 243820212 229414440 471419229 316085673 271698528 136252783 926625435 615138376 200446739 551914057 483498389 879166147 512229523 45850421 337184110 799426876 46405170 427929494 235848997 861270528 291868400 616...
output:
2436336301732 4467388472930 6498834342013 6450642313333 4049880787954 7509100670176 5831628235154 4150554274586 3112250048344 202594784082 2974050754796 8714737807242 7727115169865 1321297431165 3071603311467 4662413775237 5469193332429 2306749862693 6240860740176 1297819731517 5602374629655 5876108...
result:
ok 1000 lines
Test #3:
score: 0
Accepted
time: 1ms
memory: 8036kb
input:
96 100 1000 557703101 38662752 91559144 406758463 248251717 279124287 667387330 272252891 892434115 281731667 162886140 786660171 350559478 909940602 476034354 78826379 748607300 381191755 708777514 223906483 954905399 405424569 356033791 565979037 5787205 21241249 399771402 280058652 527147793 5875...
output:
80606469890 86777173467 35481695596 11498756054 87983213070 37171191055 33172639202 31451029430 105454750479 31626589074 105218154775 46986908645 14488184465 20368758481 41150521804 57639739744 45269689956 24620398400 51392609182 44732144926 72097558763 13572235163 78364419227 40255815091 1195379951...
result:
ok 1000 lines
Test #4:
score: 0
Accepted
time: 1ms
memory: 8268kb
input:
96 96 1000 651436202 969634688 411838043 313319930 906863003 709869271 467187062 352351954 116039480 172098032 933097773 469945118 162439715 767382758 713254949 387661957 387494696 343642279 730353853 607472395 431993920 231539946 570437226 454446439 941394569 230535263 758579901 173778951 636556431...
output:
81136576805 65057090263 57308140599 70187240654 42682272024 83341639885 53487742661 53219947761 14656518493 18143524741 27930061212 75815621849 67528908552 39936561353 44548681818 122544815339 64143328818 13510734748 16412423500 108236922255 83503599273 53331146110 59331932211 93957710008 3825533077...
result:
ok 1000 lines
Test #5:
score: 0
Accepted
time: 1ms
memory: 7948kb
input:
100 97 1000 9442498 799978686 853182282 938513473 647407813 233204982 473300672 884708491 641608620 453797741 412704210 204494322 711344505 287815571 401113141 110034416 590478367 831110886 255614524 234577289 759353531 774504637 366342991 154214800 692604750 308540773 768713312 121270668 425512518 ...
output:
5006945326 9445360831 13045856109 4494648380 6833826505 3769548416 11380661054 5754815524 8246147623 4801077020 5798520769 1392753490 6948207422 12106173499 6097834765 4210216111 3541517785 5402770609 8790748574 10564152311 2826265999 5688050930 7790838243 2760570076 4835335024 5099967138 3178901350...
result:
ok 1000 lines
Test #6:
score: 0
Accepted
time: 0ms
memory: 8136kb
input:
100 100 1000 72360333 314738290 34206178 541145218 174183915 396182816 34673830 913434757 537587312 731274646 498514633 251108131 102959912 646618466 457048174 475505598 769612876 452196872 718739596 624410437 9031420 286458655 569299852 299007318 306647081 98662275 920437282 210801779 674405507 219...
output:
3655918495 8154487755 14137574021 9267685665 7011313073 12013474026 11488238672 8912382325 14741526855 17840835926 8748441239 7607949288 7949030269 10402650219 7895349896 9942798476 19632481428 6001424701 5150011606 14328944041 7536672479 10941755235 8915887826 11121022173 5570869661 5489621389 7171...
result:
ok 1000 lines
Test #7:
score: 0
Accepted
time: 1ms
memory: 8352kb
input:
100 100 1000 671289501 901524700 187943785 477991411 752983691 647246158 953320691 934684418 412368667 925367409 762075316 358848462 963075530 457549089 783006165 5363230 270806670 315603863 281313188 630063184 613102269 512390085 496057389 735900160 98801654 915737591 295267905 169463128 895274860 ...
output:
109982431024 38431175833 69772178732 48480356522 11451380583 20622728312 34853416584 49223376377 50708590192 23464488129 66396102290 49072787090 63071461232 100259758746 39605337609 43518034110 69171797185 76120124501 31732771736 43824267429 50401683487 18812219611 17592704047 40305088337 8902132735...
result:
ok 1000 lines
Test #8:
score: 0
Accepted
time: 1ms
memory: 8104kb
input:
100 100 1000 97012332 782222818 959933898 427265795 145416034 1879121 649904335 612684991 536487830 163534103 503165874 529288026 317196350 758782134 932469419 45296081 275446181 306725071 736168208 601979715 145679830 269223691 287672389 93736686 102440922 49242307 14300820 7040380 666185124 780231...
output:
43197564487 61281841688 44768770079 49385322040 35679440075 61129947858 71570620926 54095812113 65913522420 61326476305 50331061951 39723327870 52634647963 37572255373 44983995360 20296010788 65756945356 16562779626 52036714858 19671474013 46849723315 81935125579 28823217661 58491548742 63997977890 ...
result:
ok 1000 lines
Test #9:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
1 2 5 1000000000 1 1 1 2 2 1 2 2 1 1
output:
0 1000000000 1000000000 0 0
result:
ok 5 lines
Test #10:
score: 0
Accepted
time: 0ms
memory: 3864kb
input:
2 1 5 2 1 1 2 1000000000000 1 1 1 2 2 2 1 1 2 1
output:
0 1000000000000 0 0 1000000000000
result:
ok 5 lines
Subtask #2:
score: 5
Accepted
Dependency #1:
100%
Accepted
Test #11:
score: 5
Accepted
time: 401ms
memory: 199024kb
input:
4968 1000000000 4947 35398 17280 28501 30106 20289 12704 8742 38872 40600 32757 4709 49509 18925 8232 12657 5856 35298 16182 34878 29788 22757 3667 6147 33251 10280 21807 9932 43760 25234 21837 2000 42316 42227 30480 48217 18842 12065 3569 33962 10434 9965 6816 46030 14352 7696 39388 37027 2641 4927...
output:
27171080853044 16475800995047 47858729923137 38839226619025 68829717991555 66238455750161 69391451769289 61015426629738 34984939995941 46894448125681 66492516637760 84920329286569 37539473678478 26863746705396 24228771920185 20757319444368 62547461012321 29240639472051 33274823206812 29763531850641 ...
result:
ok 4947 lines
Test #12:
score: 0
Accepted
time: 472ms
memory: 199268kb
input:
4981 1000000000 4953 151742 15587 142065 128832 78714 10584 76914 106299 31568 52704 188707 28416 12984 61582 32999 186530 140703 147751 47543 175894 7752 191829 63929 114837 92045 50348 9699 45344 118713 116457 164914 29571 114745 130797 196228 187265 10152 1229 3383 97088 55723 174984 127564 39677...
output:
39175214953945 26200723643487 46943276265557 28283755650448 27784497704623 47477663513975 25153955655196 34658568119723 36390677477885 33283868432417 45462962712646 12634898326814 12553555762696 29763136584312 59969070638872 32014006456467 32113426391414 28135433219086 47248493737483 56523379856914 ...
result:
ok 4953 lines
Test #13:
score: 0
Accepted
time: 593ms
memory: 200132kb
input:
5000 1000000000 5000 7709 49516 81404 252939 337304 22843 327351 119119 469819 411352 375305 439834 224988 108405 27787 377575 382742 28074 255120 112472 244686 267973 224537 126626 101857 58364 298859 89790 474293 329321 441367 108105 278126 181944 246403 415680 273376 409094 169364 339149 196519 3...
output:
224644098442606 54861440986602 467147774410064 30362267317869 296379104994566 473075396075640 122083966788904 272566888272189 216858876719405 215746767255802 347849462280931 520897037387102 19480747175957 76784800656757 227716313122157 66425147109923 371507621482925 352677699283994 15598007683275 59...
result:
ok 5000 lines
Test #14:
score: 0
Accepted
time: 579ms
memory: 200508kb
input:
5000 1000000000 5000 253265 289565 480218 817881 388719 980412 67414 134135 762536 232380 406531 204614 200869 487447 967573 799195 802628 529421 333062 23170 711366 781842 202481 635401 256687 178162 589701 440119 691724 314358 566777 600174 401029 556684 811778 442351 501890 561627 65781 824606 38...
output:
229741484116980 164175833276967 99443665231144 54979925948709 767846577154984 82615685235989 491961122361479 258830345532802 337194117311972 330754218569722 208052850590856 109736272716532 772091540293926 46512912591879 222739255582971 104104517451050 155728909685296 619218590510841 329616510853980 ...
result:
ok 5000 lines
Test #15:
score: 0
Accepted
time: 563ms
memory: 200404kb
input:
5000 1000000000 5000 9165442 10032926 9324284 18687554 9961685 9532269 9821667 10084498 8903944 10118365 9775765 19733471 25638562 9383006 8825736 10428746 9066921 9401601 11694769 9998610 8896431 9186888 9834954 10583130 9321162 8943766 18203176 9463949 9187659 9612570 15398089 9597271 9774891 1006...
output:
3346954835952024 9683326417379824 3034185194974329 5653331361714484 4883637125911652 4144529883528686 1550288375157255 4849179484656607 7780090186793507 8760876193430258 2791370216037543 7961795785990098 3625625101008354 830776458752577 1201598422493424 5284514192781053 4673390841578381 221202738816...
result:
ok 5000 lines
Test #16:
score: 0
Accepted
time: 464ms
memory: 199996kb
input:
5000 1000000000 5000 10328285 10154180 9849852 9978950 9899905 10007975 9932544 9993918 9897530 10042306 9913325 9834599 10081669 9949843 12994559 10008823 9910840 11562770 9903505 10076660 9980716 9890836 9934511 12177770 9904174 9911365 10195395 9827430 9905113 10026600 9830577 9852209 10069231 99...
output:
1647385331743507 5524865815859729 3059643445230206 9470053705989838 9178562810279320 7549445324071426 2027312277087798 8273023856964174 9615573793436228 8112830816194948 8931306355319079 5885476349335756 1381279438337504 8765067046522175 2086999576794297 4002632440712670 7924144870658890 79357254043...
result:
ok 5000 lines
Test #17:
score: 0
Accepted
time: 358ms
memory: 200108kb
input:
5000 1000000000 5000 2513000 70283 123233 147800 2407113 6750 548577 2496501 1589521 382060 1078641 28843 12885 979911 249118 399277 335551 1496141 1161882 94180 1562518 1846018 2023612 688097 1505606 37597 1714464 2071436 2225125 2437519 1190287 1307370 1559871 443072 285850 1245177 429584 1750366 ...
output:
416853386301 245456106087 329277735132 507750960639 544942162618 258694401397 376595479438 395068151898 515513005035 523563370330 378130973019 272463853221 335748583419 223192323740 328497513286 436111548238 380723617773 389134126388 418340678864 415228727699 338316467895 344020792244 444955157605 5...
result:
ok 5000 lines
Test #18:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
1 2 5 1000000000 1 1 1 2 2 1 2 2 1 1
output:
0 1000000000 1000000000 0 0
result:
ok 5 lines
Test #19:
score: 0
Accepted
time: 0ms
memory: 4076kb
input:
2 1 5 2 1 1 2 1000000000000 1 1 1 2 2 2 1 1 2 1
output:
0 1000000000000 0 0 1000000000000
result:
ok 5 lines
Subtask #3:
score: 0
Time Limit Exceeded
Test #20:
score: 0
Time Limit Exceeded
input:
200000 20 200000 679416469 548913625 468159997 137709609 883140368 682558021 473174374 400192350 124143873 825920417 372498686 851213321 822264481 78195915 5427143 453304163 233551905 810910186 810046144 52603791 282167184 385032797 81387991 747194790 917579656 585184539 12659388 249218417 158295502...
output:
result:
Subtask #4:
score: 0
Time Limit Exceeded
Test #28:
score: 0
Time Limit Exceeded
input:
200000 1000000000 200000 28270302 472359923 262785485 923929785 393684160 761485431 72038469 116384740 426631758 437934930 610834083 455314140 734276543 903544756 220163018 756113376 732404264 947339315 109784905 625451008 794076307 818852312 758007217 124450858 674924509 311761991 507260538 7032362...
output:
result:
Subtask #5:
score: 0
Time Limit Exceeded
Test #36:
score: 0
Time Limit Exceeded
input:
199918 1000000000 199903 1496 2382 3896 3664 1177 1627 2821 4200 3074 3783 2069 4403 629 2610 4991 4074 3033 2798 4333 3501 3667 3064 663 2821 2818 458 2950 4020 2665 3578 63 4855 4941 3492 2423 4510 1489 1018 4829 1912 3133 3174 309 287 2909 4102 4296 4526 3170 3683 4960 4863 4738 2927 2405 3600 44...
output:
result:
Subtask #6:
score: 0
Time Limit Exceeded
Test #43:
score: 0
Time Limit Exceeded
input:
200000 1000000000 200000 81882094 47220813 43282454 17633207 52769165 4830673 31396360 64793163 9174729 36727563 71268262 24662923 40146030 1430053 62926106 30042905 1330107 81817720 98841078 87766129 51155045 23216268 79896310 66625868 87854925 42976560 86542933 28336449 34932261 19698851 584453 90...
output:
result:
Subtask #7:
score: 0
Time Limit Exceeded
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Test #63:
score: 0
Time Limit Exceeded
input:
49968 1000000000 49902 4944156 4815511 9240823 7764082 994590 2019985 2016609 9208180 4884222 2671715 5813918 8082427 5690017 4750252 6475214 2447878 7680249 8636430 6031922 1028528 2689700 1920015 8635882 5610090 9361349 7547902 5838245 7362790 240533 4193002 8850309 9498339 6763561 8096700 8938068...
output:
result:
Subtask #8:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Dependency #3:
0%