QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#406734 | #6659. 외곽 순환 도로 2 | lmqzzz | 0 | 35ms | 19156kb | C++20 | 3.0kb | 2024-05-07 17:12:51 | 2024-08-26 15:52:25 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int64_t long long
long long place_police(vector<int> P, vector<long long> C, vector<long long> W) {
int n = P.size() + 1;
vector<int> deg(n);
vector<vector<int>> adj(n);
for (int i = 0; i < n - 1; i++) {
deg[i + 1]++;
deg[P[i]]++;
adj[P[i]].emplace_back(i + 1);
}
vector<int64_t> w(n);
int j = 0;
for (int i = 0; i < n; i++) {
if (deg[i] == 1) w[i] = W[j++];
}
const int64_t inf = 3e18;
vector<vector<int64_t>> f(8, vector<int64_t>(n, inf));
for (int i = n - 1; i >= 0; i--) {
if (deg[i] == 1) {
f[0][i] = f[7][i] = 0;
} else {
for (int j = 0; j < 2; j++) {
for (int v : adj[i]) {
if (v == adj[i][0]) {
for (int k = 0; k < 8; k++) {
int64_t cost = (k >> 2) == j ? C[v - 1] : 0;
f[(j << 2) | (k & 3)][i] = min(f[(j << 2) | (k & 3)][i], f[k][v] + cost);
}
} else {
vector<int64_t> nf(4, inf);
for (int k = 0; k < 4; k++) {
for (int p = 0; p < 8; p++) {
int64_t cost = ((p >> 2) == j) ? C[v - 1] : 0;
if ((k & 1) == (p >> 1 & 1)) cost += w[v];
nf[(k & 2) | (p & 1)] = min(nf[(k & 2) | (p & 1)], f[(j << 2) | k][i] + f[p][v] + cost);
}
}
for (int k = 0; k < 4; k++) {
f[(j << 2) | k][i] = nf[k];
}
}
}
}
}
}
int64_t res = inf;
for (int i = 0; i < 8; i++) {
res = min(res, f[i][0] + ((i >> 1 & 1) == (i & 1) ? W.back() : 0));
}
return res;
}
// int32_t main() {
// ios_base::sync_with_stdio(0);
// cin.tie(0);
// int n, k;
// cin >> n >> k;
// vector<int> p(n - 1);
// vector<int64_t> c(n - 1), w(k);
// for (int i = 0; i < n - 1; i++) cin >> p[i];
// for (int i = 0; i < n - 1; i++) cin >> c[i];
// for (int i = 0; i < k; i++) cin >> w[i];
// cout << place_police(p, c, w);
// }
详细
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 6
Accepted
time: 0ms
memory: 4056kb
input:
5 0 452912 0 820899 0 79369 0 232463 1000000000000 1000000000000 1000000000000 1000000000000
output:
532281
result:
ok single line: '532281'
Test #2:
score: 6
Accepted
time: 0ms
memory: 4056kb
input:
6 0 581451 0 68556 0 918465 0 661406 0 41816 1000000000000 1000000000000 1000000000000 1000000000000 1000000000000
output:
1000000110372
result:
ok single line: '1000000110372'
Test #3:
score: 6
Accepted
time: 0ms
memory: 3768kb
input:
4 0 0 0 0 0 0 0 0 0
output:
0
result:
ok single line: '0'
Test #4:
score: 0
Wrong Answer
time: 0ms
memory: 3792kb
input:
5 0 938777585449 0 576051802364 0 418735407836 0 823692221300 233950071687 338912182863 866023804654 680391493800
output:
1357512993285
result:
wrong answer 1st lines differ - expected: '1333076973323', found: '1357512993285'
Subtask #2:
score: 0
Wrong Answer
Test #28:
score: 8
Accepted
time: 29ms
memory: 19052kb
input:
99997 0 122727 0 267270 0 846212 0 454122 0 805668 0 614161 0 7805 0 173284 0 684707 0 269129 0 930945 0 1101 0 992427 0 297412 0 759787 0 227130 0 120418 0 90914 0 333684 0 46144 0 519912 0 171490 0 823586 0 121787 0 674177 0 560254 0 753090 0 853359 0 465464 0 655527 0 631303 0 919012 0 597126 0 1...
output:
24980330181
result:
ok single line: '24980330181'
Test #29:
score: 8
Accepted
time: 30ms
memory: 18860kb
input:
99997 0 122727 0 267270 0 846212 0 454122 0 805668 0 614161 0 7805 0 173284 0 684707 0 269129 0 930945 0 1101 0 992427 0 297412 0 759787 0 227130 0 120418 0 90914 0 333684 0 46144 0 519912 0 171490 0 823586 0 121787 0 674177 0 560254 0 753090 0 853359 0 465464 0 655527 0 631303 0 919012 0 597126 0 1...
output:
24980330181
result:
ok single line: '24980330181'
Test #30:
score: 8
Accepted
time: 29ms
memory: 18932kb
input:
99998 0 792854 0 622829 0 836127 0 847372 0 71732 0 241096 0 487224 0 696890 0 899047 0 845614 0 27226 0 270985 0 698890 0 64699 0 856738 0 685434 0 766150 0 540443 0 802763 0 874879 0 250532 0 834015 0 616087 0 771638 0 262098 0 458015 0 959723 0 408130 0 880649 0 456673 0 923653 0 969100 0 439032 ...
output:
1025006589524
result:
ok single line: '1025006589524'
Test #31:
score: 8
Accepted
time: 34ms
memory: 19136kb
input:
99998 0 792854 0 622829 0 836127 0 847372 0 71732 0 241096 0 487224 0 696890 0 899047 0 845614 0 27226 0 270985 0 698890 0 64699 0 856738 0 685434 0 766150 0 540443 0 802763 0 874879 0 250532 0 834015 0 616087 0 771638 0 262098 0 458015 0 959723 0 408130 0 880649 0 456673 0 923653 0 969100 0 439032 ...
output:
1025006589524
result:
ok single line: '1025006589524'
Test #32:
score: 0
Wrong Answer
time: 35ms
memory: 19156kb
input:
99997 0 111160315429 0 355167263283 0 846519401525 0 697515481745 0 653176944193 0 975281743723 0 947695822588 0 443385029699 0 86490619914 0 542182758068 0 140914234365 0 453333219458 0 484226894553 0 930883160414 0 961277575066 0 392480084360 0 638524603170 0 806648354769 0 552428035490 0 99450464...
output:
18288712069898229
result:
wrong answer 1st lines differ - expected: '18302944415585093', found: '18288712069898229'
Subtask #3:
score: 0
Wrong Answer
Test #36:
score: 5
Accepted
time: 0ms
memory: 3852kb
input:
11 0 9 0 8 2 0 3 7 3 1 2 6 0 0 7 7 7 1 9 6 1000000000000 1000000000000 1000000000000 1000000000000 1000000000000 1000000000000
output:
1
result:
ok single line: '1'
Test #37:
score: 0
Wrong Answer
time: 6ms
memory: 11712kb
input:
50311 0 630582 1 458618 2 300543 3 566041 4 306718 5 134260 6 736322 7 458543 8 609374 9 355623 10 706939 11 48588 12 455725 13 105118 14 71071 15 528699 16 423538 17 471781 18 98063 19 169099 20 657181 21 295537 22 49937 23 306612 24 186582 25 505763 26 831500 27 406268 28 294626 29 128111 30 42115...
output:
0
result:
wrong answer 1st lines differ - expected: '813491', found: '0'
Subtask #4:
score: 0
Skipped
Dependency #3:
0%
Subtask #5:
score: 0
Wrong Answer
Test #77:
score: 0
Wrong Answer
time: 13ms
memory: 11628kb
input:
50311 0 962897543825 1 887020369743 2 363658802934 3 481009844166 4 1099712574 5 858320882162 6 521927434762 7 379344260539 8 73024776148 9 634183458545 10 869560347910 11 81581323331 12 750044298516 13 307013017409 14 306226274039 15 423923546601 16 482114694167 17 849292461119 18 299993045938 19 7...
output:
0
result:
wrong answer 1st lines differ - expected: '939418184213', found: '0'
Subtask #6:
score: 0
Skipped
Dependency #1:
0%