QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#410594 | #6662. 기지 간소화 | nguyentunglam | 5 | 47ms | 18012kb | C++17 | 1.9kb | 2024-05-14 10:14:16 | 2024-05-14 10:14:17 |
Judging History
answer
#include<bits/stdc++.h>
#define fi first
#define se second
#define endl "\n"
#define ii pair<int, int>
using namespace std;
const int N = 3e5 + 10, mod = 1e9 + 7;
int st[N], ed[N], rev_st[N], dd[N], cnt[2], sz[N], cost[N];
vector<pair<int, int> > adj[N];
int timer, n;
long long ans;
void prep (int u, int p) {
// cout << u << endl;
st[u] = ++timer;
rev_st[timer] = u;
sz[u] = 1;
for(auto &[v, c] : adj[u]) if (v != p) {
cost[v] = c;
prep(v, u);
sz[u] += sz[v];
}
ed[u] = timer;
}
void dfs(int u, int p) {
int heavy = 0;
// cout << u << endl;
for(auto &[v, w] : adj[u]) if (v != p && sz[v] > sz[heavy]) heavy = v;
for(auto &[v, w] : adj[u]) if (v != p && v != heavy) {
dfs(v, u);
for(int j = st[v]; j <= ed[v]; j++) {
dd[rev_st[j]] = 0;
// if (u == 2) cout << rev_st[j] << endl;
}
}
if (heavy) dfs(heavy, u);
dd[u] = 1;
for(auto &[v, w] : adj[u]) if (v != p && v != heavy) {
for(int j = st[v]; j <= ed[v]; j++) dd[rev_st[j]] = 1;
}
// if (u == 2) {
// for(int i = 0; i < n; i++) cout << dd[i] << " "; cout << endl;
// cout << u << endl;
//// }
for(int l = 0; l < n; l++) {
cnt[0] = cnt[1] = 0;
for(int r = l; r < n; r++) {
cnt[dd[r]] = 1;
if (cnt[0] && cnt[1]) {
ans += cost[u];
ans %= mod;
// cout << l << " " << r << " " << u << " " << cost[u] << endl;
}
}
}
}
int maintenance_costs_sum (vector<int> U, vector<int> V, vector<int> W) {
n = U.size() + 1;
for(int i = 0; i < n - 1; i++) {
adj[U[i]].emplace_back(V[i], W[i]);
adj[V[i]].emplace_back(U[i], W[i]);
}
prep(0, 0);
dfs(0, 0);
return ans;
}
#ifdef ngu
int main() {
freopen ("task.inp", "r", stdin);
freopen ("task.out", "w", stdout);
int tot = maintenance_costs_sum({0, 2, 2, 0}, {2, 1, 4, 3}, {2, 1, 1, 1});
cout << tot << endl;
}
#endif // ngu
详细
Subtask #1:
score: 5
Accepted
Test #1:
score: 5
Accepted
time: 0ms
memory: 16720kb
input:
2 1 0 1
output:
1
result:
ok single line: '1'
Test #2:
score: 0
Accepted
time: 47ms
memory: 17188kb
input:
299 72 263 662908099 170 230 583287081 181 87 461245480 117 116 41098264 282 218 300936390 238 128 561969086 175 105 305200697 152 28 927649982 211 58 290232523 233 188 304617152 246 74 61325892 283 120 724838352 207 94 123021801 138 241 893659708 171 283 82846115 104 250 142703714 111 63 547249068 ...
output:
93964028
result:
ok single line: '93964028'
Test #3:
score: 0
Accepted
time: 47ms
memory: 15884kb
input:
300 116 249 999999948 23 182 999999956 174 147 999999978 21 178 999999981 138 238 999999941 215 6 999999955 190 256 999999990 107 203 999999992 142 221 999999943 129 236 999999957 55 154 999999992 183 35 999999979 200 284 999999958 36 222 999999988 88 62 999999960 219 222 999999950 95 38 999999960 2...
output:
534442086
result:
ok single line: '534442086'
Test #4:
score: 0
Accepted
time: 0ms
memory: 16268kb
input:
5 0 2 2 2 1 3 2 4 6 0 3 5
output:
98
result:
ok single line: '98'
Test #5:
score: 0
Accepted
time: 3ms
memory: 18012kb
input:
10 1 5 1 6 2 10 8 1 3 3 9 1 8 0 10 2 3 6 7 0 5 2 4 7 4 7 3
output:
1625
result:
ok single line: '1625'
Test #6:
score: 0
Accepted
time: 0ms
memory: 16116kb
input:
10 2 5 242840396 4 7 425058513 7 9 975802175 7 1 647540462 3 7 239781206 2 0 873867121 4 0 132645393 6 4 862552539 0 8 542726039
output:
711424766
result:
ok single line: '711424766'
Test #7:
score: 0
Accepted
time: 32ms
memory: 16200kb
input:
299 107 270 74 187 221 79 142 129 40 77 272 27 94 152 1 117 171 74 64 79 87 263 36 91 257 176 1 183 191 82 109 67 23 91 90 30 116 228 76 276 152 15 59 165 40 160 235 71 235 116 82 102 44 88 130 289 72 241 150 14 62 176 23 277 50 83 206 38 11 66 250 72 84 120 66 137 259 54 46 287 82 209 263 57 151 24...
output:
399821685
result:
ok single line: '399821685'
Test #8:
score: 0
Accepted
time: 30ms
memory: 17236kb
input:
300 111 245 844422933 103 173 980761620 210 18 509066965 36 51 134507716 264 28 523343821 249 88 748193505 30 46 832843261 286 33 489900279 125 288 575144383 106 87 191375234 259 126 882094013 10 57 842095866 73 65 254207339 175 280 353530327 21 145 883665290 130 110 818300025 137 48 259121083 0 102...
output:
156555229
result:
ok single line: '156555229'
Test #9:
score: 0
Accepted
time: 32ms
memory: 17636kb
input:
292 37 89 397871374 184 205 437399619 14 234 93902029 40 155 84065200 12 60 367994608 143 35 623301168 125 0 307800516 68 281 653696611 146 260 978361615 177 79 385187016 251 192 369734594 245 159 471356654 109 53 96376804 248 103 681417305 85 288 837771859 25 110 145156090 129 46 874442695 252 249 ...
output:
702681209
result:
ok single line: '702681209'
Test #10:
score: 0
Accepted
time: 37ms
memory: 17260kb
input:
285 93 162 959772147 32 172 751202610 173 257 284177666 199 112 94146918 80 117 514639361 245 265 282507802 135 109 829039102 53 38 832201899 166 245 984506327 247 224 843352696 4 98 415992963 189 33 989751728 117 153 801360684 106 213 848238622 119 77 300949830 177 29 951903134 110 27 991808126 102...
output:
281677588
result:
ok single line: '281677588'
Test #11:
score: 0
Accepted
time: 44ms
memory: 15924kb
input:
300 238 117 820410457 230 235 506467445 200 74 653603782 62 76 485420791 105 275 392365065 20 121 28250604 203 87 723682049 109 151 342880635 133 79 302983289 47 297 671031835 257 299 444969934 255 116 860542983 91 92 332672418 205 280 290258390 103 160 769766288 106 137 789215359 159 204 831106721 ...
output:
144479203
result:
ok single line: '144479203'
Test #12:
score: 0
Accepted
time: 43ms
memory: 17240kb
input:
298 157 32 579243060 277 30 236601044 95 45 746850490 123 94 873131928 185 95 376156675 66 150 606904039 262 124 953899592 219 279 373193513 152 99 546195756 113 100 936194271 216 240 22619249 38 110 395200927 89 55 159263634 265 77 151240149 90 232 529211969 88 177 115952104 43 208 657967542 196 45...
output:
75917669
result:
ok single line: '75917669'
Test #13:
score: 0
Accepted
time: 26ms
memory: 17108kb
input:
300 86 72 35281851 86 65 772642113 86 85 267144561 68 86 237759697 225 86 275794715 188 86 708990293 86 224 212292280 61 86 139649599 141 86 852035124 131 86 522883805 62 86 374119946 86 107 661877081 218 86 365176681 14 86 676939669 86 254 678988772 86 189 741173114 86 175 101646645 86 10 776575255...
output:
970519677
result:
ok single line: '970519677'
Test #14:
score: 0
Accepted
time: 26ms
memory: 16400kb
input:
296 167 280 308339229 42 120 44980047 172 173 31087131 280 172 346584469 68 172 765593132 172 11 55592625 172 60 294200085 172 177 829489003 172 26 368114672 172 6 906646562 239 172 311081319 199 172 89488635 264 172 782569720 172 53 614220967 172 192 111994073 70 172 348033132 172 37 5375089 10 108...
output:
685676493
result:
ok single line: '685676493'
Test #15:
score: 0
Accepted
time: 45ms
memory: 16464kb
input:
299 219 189 428591428 214 280 645468138 239 124 44092787 278 109 973174819 229 28 708387042 118 105 231265201 106 23 115324206 127 163 182711436 61 68 171248721 67 218 585337538 198 30 576082156 147 49 179613791 109 244 356639356 122 205 714546250 179 207 831521336 292 188 754667151 91 55 962847082 ...
output:
442304238
result:
ok single line: '442304238'
Test #16:
score: 0
Accepted
time: 35ms
memory: 17432kb
input:
300 72 138 240810351 80 111 534427405 105 137 731389559 86 95 740641088 86 126 67440531 151 147 975723723 84 98 889126297 60 37 235430076 98 236 462897489 183 146 446541268 42 135 730090491 92 259 6083997 189 161 972025910 3 29 546634976 53 270 249844443 28 122 103308828 105 275 560940747 121 124 94...
output:
51045998
result:
ok single line: '51045998'
Test #17:
score: 0
Accepted
time: 34ms
memory: 17440kb
input:
298 15 284 446739499 274 218 9244552 64 69 913186698 79 63 70124148 253 46 192851114 165 30 798777080 30 123 824050137 199 104 363328962 23 70 471441 170 54 206153629 18 49 203147626 83 136 841021519 158 184 342247212 72 139 144579819 237 6 976320498 235 224 141859373 169 39 844270142 231 273 615291...
output:
874031476
result:
ok single line: '874031476'
Test #18:
score: 0
Accepted
time: 42ms
memory: 16720kb
input:
300 211 34 999999974 255 27 999999997 50 98 999999974 16 21 999999946 207 243 999999999 39 64 999999983 279 79 999999975 95 248 999999960 69 276 999999977 94 6 999999960 137 281 999999969 127 49 999999945 122 72 999999958 124 63 999999991 125 52 999999963 152 92 999999994 26 120 999999989 29 275 999...
output:
558463020
result:
ok single line: '558463020'
Subtask #2:
score: 0
Time Limit Exceeded
Dependency #1:
100%
Accepted
Test #19:
score: 0
Time Limit Exceeded
input:
3987 1834 2601 895910969 1701 1884 820508615 3406 1155 439833658 2977 3131 370614789 617 2254 829077229 1648 1576 977756493 597 2928 624126121 1165 3147 11258087 3888 2644 341340941 3007 2676 281856885 3971 957 644422867 3791 1181 166275464 3089 2273 36236019 1918 1080 747406617 3032 2602 102478217 ...
output:
Unauthorized output
result:
Subtask #3:
score: 0
Time Limit Exceeded
Test #36:
score: 0
Time Limit Exceeded
input:
249494 137621 137622 1 198127 198128 1 117358 117359 1 155777 155778 1 112742 112743 1 235668 235669 1 20632 20622 1 41333 41334 1 170699 170692 1 130269 130268 1 137208 137207 1 37791 37767 1 130187 130178 1 89795 89817 1 91408 91359 1 243301 243574 1 22017 22018 1 116466 116467 1 160094 160095 1 4...
output:
Unauthorized output
result:
Subtask #4:
score: 0
Time Limit Exceeded
Test #48:
score: 0
Time Limit Exceeded
input:
249876 133760 107716 545485826 57898 35556 542825636 159559 78814 588304799 9037 105623 735470824 242676 240955 258616989 58653 143501 194781066 36591 97835 699376285 95049 123298 35300031 91751 203920 865003045 53908 18382 376452723 211462 200538 638209824 48693 89388 132147210 238496 151742 322726...
output:
Unauthorized output
result:
Subtask #5:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
0%