QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#348645 | #4895. Lovely Dogs | ANIG | 0 | 108ms | 39096kb | C++14 | 2.2kb | 2024-03-09 20:13:26 | 2024-03-09 20:13:26 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+5;
int n,k,siz[N],mk[N],w[N],f[N],mu[N],hs[N],g[N],jl[N*20],idx,res,pw[N],rs[N];
vector<int>p[N],ys[N];
bool cmp(int a,int b){
if(mk[a]!=mk[b])return mk[a]>mk[b];
return siz[a]<siz[b];
}
void clr(){
while(idx)g[jl[idx]]=0,idx--;
}
void add(int x){
if(!f[x])return;
for(auto i:ys[x])g[i]+=f[x],jl[++idx]=i;
for(auto i:ys[x]){
int cd=__gcd(x,pw[i]),t=pw[i]/cd;
if(cd<=n)res+=mu[i]*g[t]*f[x];
}
}
void dfs1(int x){
mk[x]=1;
for(int i=0;i<p[x].size();i++){
int c=p[x][i];
if(mk[c])continue;
dfs1(c);
siz[x]+=siz[c];
}
sort(p[x].begin(),p[x].end(),cmp);
siz[x]++;
mk[x]=0;
}
void dfs3(int x){
mk[x]=1;add(w[x]);
for(int i=0;i<p[x].size();i++){
int c=p[x][i];
if(mk[c])continue;
dfs3(c);
}
mk[x]=0;
}
void dfs2(int x){
mk[x]=1;
for(int i=0;i<p[x].size();i++){
int c=p[x][i];
if(mk[c])continue;
clr();res=0;
dfs2(c);
}
for(int i=0;i<p[x].size()-1;i++){
int c=p[x][i];
if(mk[c])continue;
dfs3(c);
}
add(w[x]);
rs[x]=res;
mk[x]=0;
}
int gets(int x){
int res=1;
for(int i=2;i*i<=x;i++){
int cnt=0;
while(x%i==0)x/=i,cnt++;
if(cnt&1)res=-res;
if(cnt>k)res=0;
}
if(x>1)res=-res;
return res;
}
signed main(){
cin>>n>>k;
for(int i=1;i<n;i++){
int x,y;
cin>>x>>y;
p[x].push_back(y);
p[y].push_back(x);
}
for(int i=1;i<=n;i++)cin>>w[i],f[i]=gets(i);
for(int i=1;i<=n;i++)mu[i]=1;
for(int i=2;i<=n;i++){
if(!hs[i]){
for(int j=i;j<=n;j+=i){
if(j/i%i)mu[j]=-mu[j];
else mu[j]=0;
hs[j]=1;
}
}
}
for(int i=1;i<=n;i++){
pw[i]=1;
for(int j=1;j<=k+1;j++){
pw[i]=pw[i]*i;
if(pw[i]>1e10)pw[i]=1e10+1;
}
}
for(int i=1;i<=n;i++)for(int j=i;j<=n;j+=i)ys[j].push_back(i);
dfs1(1);
dfs2(1);
for(int i=1;i<=n;i++)cout<<rs[i]<<"\n";
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Runtime Error
Test #1:
score: 10
Accepted
time: 0ms
memory: 26476kb
input:
20 2 18 8 18 11 13 19 10 8 9 11 4 8 9 15 9 17 2 1 13 18 20 18 1 8 12 17 7 16 5 11 16 15 6 19 14 16 1 3 2 15 5 13 20 6 16 18 9 19 17 7 14 10 11 3 1 12 4 8
output:
16 1 1 1 0 1 0 12 3 1 6 1 3 1 2 1 1 7 1 0
result:
ok 20 tokens
Test #2:
score: 0
Accepted
time: 0ms
memory: 24572kb
input:
500 1 287 459 335 297 303 82 427 202 500 158 257 45 410 274 208 19 172 113 274 379 380 65 234 46 161 441 73 488 473 327 474 481 152 67 78 414 260 20 142 385 494 343 446 72 498 296 111 9 349 372 448 217 282 442 412 144 342 44 282 92 337 128 426 201 104 493 278 298 278 145 363 121 92 305 278 379 166 1...
output:
158 -3 0 0 -1 0 0 0 -1 -1 -2 0 0 1 0 0 0 0 -1 -3 0 0 1 0 1 0 0 0 0 0 1 6 5 0 0 0 0 0 1 0 0 0 -1 2 0 0 0 98 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 -11 0 0 1 0 0 0 -5 0 0 11 0 0 0 0 -1 0 0 1 0 7 -2 0 31 0 2 14 -3 0 1 0 0 0 0 1 0 0 -2 -3 0 0 -3 0 0 0 0 0 0 0 0 0 -1 0 0 -1 0 1 0 0 0 2 1 0 -3 0 0 0 -1 0 0 0 -...
result:
ok 500 tokens
Test #3:
score: 0
Accepted
time: 0ms
memory: 25608kb
input:
500 1 420 282 9 357 176 82 390 58 280 145 303 106 342 485 300 241 149 18 233 286 499 473 288 22 472 103 271 244 490 273 419 93 26 5 408 243 132 423 75 53 112 390 26 227 413 312 401 320 96 71 479 129 459 373 322 425 465 85 244 117 155 7 44 407 225 351 67 480 370 24 408 60 463 245 270 264 271 82 109 3...
output:
158 0 -1 0 6 0 0 0 0 1 0 0 -1 18 0 0 0 0 0 0 0 1 0 0 0 4 0 0 0 1 1 2 0 0 0 0 0 -3 0 0 0 0 0 0 -1 0 3 -1 0 -3 0 0 0 0 0 -1 -1 0 1 0 0 0 1 0 0 0 0 1 0 0 -1 0 7 0 1 230 2 0 0 -6 0 6 0 -2 -2 0 0 -8 0 0 -1 3 1 0 1 0 0 1 0 -3 1 0 0 0 0 -1 0 0 0 0 0 -2 0 -1 0 1 0 7 0 0 -1 0 0 0 0 0 1 0 0 -3 0 -1 0 0 0 0 0 ...
result:
ok 500 tokens
Test #4:
score: 0
Accepted
time: 0ms
memory: 26252kb
input:
500 1 407 7 167 9 444 291 345 93 446 169 305 310 231 378 93 158 93 128 233 75 499 106 93 430 403 132 26 186 305 452 15 238 82 93 146 93 272 11 62 319 301 91 136 28 93 60 478 324 101 248 180 445 253 155 61 456 348 130 137 308 93 63 376 93 202 446 93 401 458 9 226 93 164 93 432 484 265 93 396 218 473 ...
output:
158 -207 0 -12 20 0 0 0 49 0 -34 0 56 -59 -38 -119 0 0 0 103 -48 -46 -64 -11 0 -54 0 65 0 0 0 0 0 0 -41 -7 0 0 0 -54 0 39 0 -155 0 0 -49 0 0 -67 0 0 0 -54 -120 0 0 -55 0 0 -21 115 0 0 0 -206 0 0 -21 0 -48 -27 0 0 -71 0 151 0 2 -41 -58 0 0 0 0 0 -11 0 0 -49 -54 -38 49 -32 0 37 0 0 0 0 -42 0 0 -56 54 ...
result:
ok 500 tokens
Test #5:
score: 0
Accepted
time: 0ms
memory: 24860kb
input:
500 1 27 412 370 80 199 200 189 311 29 174 242 428 302 491 64 278 390 342 334 86 145 468 329 308 466 462 85 371 198 182 18 435 338 85 473 105 50 131 312 62 58 417 233 53 38 278 377 365 162 397 293 228 12 211 432 499 218 134 390 130 272 381 336 133 137 356 95 449 290 327 151 232 179 272 201 269 304 3...
output:
158 1 2 0 0 0 0 0 1 0 0 0 0 1 1 0 0 3 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 0 -8 0 0 0 0 0 0 0 -1 0 0 0 0 0 1 0 0 0 -1 0 0 0 0 -2 0 -2 -1 -3 0 0 0 2 0 -1 0 0 1 1 0 -1 -4 0 1 0 0 0 0 0 1 0 -3 0 0 0 0 0 0 -2 0 0 0 0 0 0 1 1 1 -1 0 0 0 0 0 -1 0 9 0 -67 0 0 0 0 0 0 -4 -2 0 0 0 0 -2 -1 -1 0 -2 0 0 -...
result:
ok 500 tokens
Test #6:
score: 0
Accepted
time: 0ms
memory: 26476kb
input:
500 2 428 7 101 379 176 90 188 28 455 459 196 332 481 438 294 234 222 285 2 448 58 491 132 449 111 413 254 163 9 201 269 393 79 11 182 331 277 265 88 370 233 188 329 294 446 445 136 131 317 453 311 219 437 486 496 310 85 349 421 326 316 490 499 367 404 361 446 411 249 494 462 58 433 60 57 278 45 456...
output:
629 8 20 1 0 1 1 1 2 0 2 0 1 0 3 0 4 0 0 0 1 0 0 1 0 1 1 169 1 0 2 1 1 0 2 1 1 1 1 568 2 2 0 0 0 1 1 0 0 48 1 0 1 1 0 2 0 8 0 0 1 0 0 2 2 2 2 1 1 0 1 0 1 1 0 7 0 0 1 1 1 0 0 2 7 0 0 0 0 1 13 1 0 6 -1 1 0 1 2 0 4 1 1 4 1 1 1 1 0 0 1 -1 3 2 1 1 0 0 0 1 1 2 3 1 9 1 1 1 3 0 5 8 -1 1 2 0 5 1 1 0 0 2 0 1 ...
result:
ok 500 tokens
Test #7:
score: -10
Runtime Error
input:
500 3 102 64 271 215 377 453 237 410 39 280 210 109 7 139 446 304 9 484 189 335 60 398 269 65 429 487 186 279 451 44 245 144 288 396 498 433 225 335 254 482 392 335 477 139 275 193 58 274 312 334 427 201 141 4 389 330 184 133 436 18 239 302 188 38 45 348 173 433 285 54 33 296 150 189 320 278 182 316...
output:
result:
Subtask #2:
score: 0
Runtime Error
Test #24:
score: 10
Accepted
time: 7ms
memory: 25452kb
input:
2000 1 134 1468 867 1750 351 1220 1690 1888 1685 134 585 282 1142 643 206 271 260 1833 1987 770 1029 1667 322 1371 341 518 601 915 119 893 1933 1502 951 1785 1056 1630 1957 1208 96 55 1508 1212 331 427 505 151 1378 1486 1545 697 1459 629 202 997 180 1917 1638 1177 1244 1896 302 658 1433 1605 1318 19...
output:
581 -3 0 0 0 0 0 0 0 -2 0 0 0 0 0 -1 0 0 0 1 0 -1 0 0 -1 0 0 0 17 -2 0 -1 -2 0 0 0 0 0 0 0 -5 0 0 0 0 -14 0 -1 0 -1 0 0 1 1 -1 -4 0 0 1 0 0 0 3 0 0 0 -1 -2 0 0 4 0 0 0 0 -1 0 1 0 0 0 -5 0 0 0 0 -1 0 0 0 0 0 0 0 1 -1 0 18 0 0 13 -2 0 -2 0 0 0 0 2 -2 2 0 0 3 0 -1 0 0 0 0 -3 0 0 0 0 0 0 1 -1 0 0 0 0 0 ...
result:
ok 2000 tokens
Test #25:
score: 0
Accepted
time: 2ms
memory: 24952kb
input:
2000 1 1754 1650 906 642 596 1542 1656 1549 716 1578 1799 1182 53 244 1032 41 1290 1758 485 1496 1438 948 1683 684 400 653 1756 1459 1965 1322 1540 1263 1365 1564 108 1801 741 717 1113 13 1787 1124 411 732 64 1817 907 259 1308 29 1518 752 375 422 663 1631 528 799 863 310 790 793 587 579 1828 874 502...
output:
581 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 -12 0 0 0 0 0 0 2 -1 0 0 0 0 0 0 0 0 0 -1 -1 1 0 0 -2 0 20 -1 0 -3 1 0 5 -1 0 0 1 1 0 0 0 0 -1 0 -2 0 0 0 -15 1 1 0 0 0 0 0 1 0 30 0 1 0 0 1 -1 0 0 0 0 -1 0 0 0 0 0 1 0 0 0 0 0 0 0 -1 0 1 0 1 -1 0 -1 0 0 0 0 -3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 0 0...
result:
ok 2000 tokens
Test #26:
score: 0
Accepted
time: 5ms
memory: 24152kb
input:
2000 1 146 1160 146 388 146 1033 382 1917 162 1342 1 1425 1841 764 1674 780 1109 1649 1282 1786 488 1386 1753 1698 17 192 1692 944 693 146 1933 146 976 463 1603 392 1709 248 18 678 146 1157 1517 1416 31 1153 973 39 1359 1046 625 1840 745 146 1316 146 124 146 627 1410 146 540 772 1461 1041 1537 1374 ...
output:
581 0 -36 -192 435 473 506 0 0 358 0 0 0 0 0 0 -180 35 438 0 0 0 607 0 0 0 -17 0 0 26 2 499 0 -180 -85 0 -104 -120 -63 -60 0 0 0 0 598 0 0 0 0 356 592 0 0 0 45 -73 -116 343 0 0 0 0 0 0 31 -108 -5 0 0 0 637 270 494 0 0 487 0 -197 0 401 520 0 0 52 0 128 0 0 82 0 0 0 -22 0 0 0 0 0 0 30 0 0 0 0 0 0 0 0 ...
result:
ok 2000 tokens
Test #27:
score: 0
Accepted
time: 3ms
memory: 23288kb
input:
2000 1 681 278 1551 1142 424 928 738 174 1393 1727 456 944 1713 468 359 1597 1265 1737 246 500 1095 695 654 904 1465 27 1172 1385 1455 40 1391 1384 1979 970 1123 800 1618 1892 1444 1506 79 806 313 1350 1872 85 1467 1031 741 1139 739 1681 263 1454 169 885 1222 153 864 799 192 1339 935 1843 1633 1358 ...
output:
581 0 -1 0 0 0 1 25 0 0 0 0 1 0 -8 0 0 -3 0 0 0 -2 0 0 -3 0 0 0 0 0 0 0 -3 -1 -1 0 0 -1 1 -2 3 0 0 0 0 0 2 3 0 0 -1 -7 0 0 0 0 0 -7 0 0 -1 1 9 0 0 -1 0 0 0 0 0 -1 -3 -1 1 -3 0 -1 -1 0 -1 -1 -1 -1 0 0 -2 -1 12 -7 -10 0 0 0 -6 0 0 0 0 41 0 0 -15 0 0 0 0 0 1 1 0 0 0 0 0 -7 0 -3 -26 0 0 0 0 0 0 0 0 0 2 ...
result:
ok 2000 tokens
Test #28:
score: -10
Runtime Error
input:
2000 2 1608 842 1808 1921 1404 549 594 1521 1755 855 1047 1256 340 1877 407 670 1100 1239 1511 1142 790 1103 1212 944 515 167 180 415 399 1563 1458 136 728 1480 1074 819 555 1594 1693 1301 1802 1879 1936 501 306 87 1125 796 720 1298 1999 1529 767 1396 1258 1940 1651 1564 1059 281 704 848 1861 473 13...
output:
result:
Subtask #3:
score: 0
Runtime Error
Test #45:
score: 0
Runtime Error
input:
200000 20 117994 12616 53490 106425 103660 50033 132640 78252 58384 19939 69183 10015 39098 165030 179856 130356 65245 57831 18234 83378 4240 154896 177149 102260 4634 180087 132390 19627 98506 60775 1890 120740 87908 21917 41323 192721 181885 96684 69412 139951 9800 38301 59025 29879 186185 81402 1...
output:
result:
Subtask #4:
score: 0
Runtime Error
Test #50:
score: 0
Runtime Error
input:
200000 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 41 1 42 1 43 1 44 1 45 1 46 1 47 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 56 1 57 1 58 1 59 1 60 1 61...
output:
result:
Subtask #5:
score: 0
Runtime Error
Test #55:
score: 0
Runtime Error
input:
200000 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 41 1 42 1 43 1 44 1 45 1 46 1 47 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 56 1 57 1 58 1 59 1 60 1 61...
output:
result:
Subtask #6:
score: 0
Runtime Error
Test #78:
score: 10
Accepted
time: 75ms
memory: 36460kb
input:
50000 1 8097 41839 17674 41774 40520 8024 5786 38261 20664 43471 1217 49276 11185 40807 14186 25584 31704 14814 42333 41475 13053 39565 45938 30104 5826 39463 5031 10814 43784 6042 58 33849 42978 18978 36307 33276 34769 4351 27884 37532 27528 29431 29451 39345 10946 9667 19016 47269 7911 30103 10308...
output:
-9152 0 0 0 0 0 0 -1 0 -1 0 0 1 0 0 0 0 0 0 0 0 -2 -1 -2 0 -2 0 2 -3 3 0 0 -1 0 0 0 0 0 0 0 0 -2 -1 0 -1 0 2 0 1 0 0 0 0 1 0 0 31 0 0 0 0 0 0 -3 0 -1 26 -2 9 -1 -1 5 0 0 2 0 -1 0 0 0 4 -1 -1 0 -1 0 0 0 0 0 -1 0 0 -2 -1 -1 0 0 4 0 0 0 0 0 0 8 -12 0 0 0 0 0 0 0 9 0 1 0 0 0 0 0 0 0 0 0 0 0 -1 1 0 0 0 -...
result:
ok 50000 tokens
Test #79:
score: 0
Accepted
time: 94ms
memory: 37260kb
input:
50000 1 32034 47865 25944 188 8598 48750 2708 28815 30476 36844 46054 9168 4967 34970 41763 39703 15403 23747 17970 29303 36579 18070 19316 40824 40459 44029 3823 38050 3084 19147 18056 49063 25399 16977 39334 9283 41398 29161 20384 27913 30470 31528 640 5773 1605 32691 48417 23633 27454 6779 19548 ...
output:
-9152 11 14 0 0 7 0 -1 0 0 0 -14 0 0 0 1 0 0 -1 0 0 0 0 3 0 0 0 0 0 0 0 0 0 -2 0 -1 0 0 1 0 0 -50 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 6 5 -1 0 0 1 0 0 0 0 0 -8 0 -16 0 5 0 0 0 0 0 0 -1 0 0 0 -1 0 0 -1 0 0 0 2 0 0 0 0 -2 1 0 0 -5 0 0 0 -13 0 0 0 0 -3 -3 0 0 0 0 0 -1 0 0 0 -1 -1 -1 0 -1 0 -3 0 2 1 0 0 ...
result:
ok 50000 tokens
Test #80:
score: 0
Accepted
time: 72ms
memory: 39096kb
input:
50000 1 39371 11897 18057 28366 41597 38680 18057 27889 11426 20379 41380 30688 28903 40347 18057 25169 37754 8154 23412 45346 18057 45516 18057 33624 18057 30696 26612 23615 18718 44663 27320 18057 20424 36013 19003 29291 6016 18057 1718 5947 41466 23544 38799 26926 18057 30495 18057 14852 16829 27...
output:
-9152 0 0 -1472 -7389 -6321 0 -4854 -2735 0 0 0 0 -3769 -2558 0 0 -1531 -2588 -2908 0 -6720 0 0 0 -9803 0 0 0 0 -5494 -2885 -1898 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3164 0 0 0 0 0 -3224 -4062 -1307 -1030 0 -4877 0 0 -6232 0 0 0 0 -3739 -1918 -4896 0 0 0 -5332 -8995 -1790 0 0 -6320 0 0 -5089 0 -6664 -9...
result:
ok 50000 tokens
Test #81:
score: 0
Accepted
time: 108ms
memory: 36388kb
input:
50000 1 33407 5182 3870 21606 16080 48453 2777 4478 49747 843 42539 32472 2195 15316 9184 16559 39787 27989 15822 46476 3462 8502 15130 37017 31019 7086 13437 19984 3 20139 21162 27689 1067 27927 37709 11407 38509 34963 36180 28194 10151 38894 21219 29603 18000 26175 48974 14856 22675 18606 44861 24...
output:
-9152 0 0 0 -2 -1 0 0 0 0 0 0 0 0 0 0 0 0 -2 0 0 2 0 0 -4 0 0 0 1 0 0 0 0 0 0 0 0 0 11 -2 0 0 0 0 -2 0 31 0 -2 0 0 0 0 -1 0 0 -1 0 -4 -1 -1 0 -1 0 0 0 -5 -1 0 0 0 0 -3 0 -1 -2 -1 0 1 -1 0 0 -2 0 -4 0 0 0 0 0 -1 -5 0 -1 0 0 7 -1 -11 0 2 -1 0 -5 0 0 0 -1 4 0 0 0 0 0 0 0 -3 0 -33 0 0 2 -1 -5 0 0 0 -1 0...
result:
ok 50000 tokens
Test #82:
score: -10
Runtime Error
input:
50000 2 33498 4348 23123 14835 39691 37408 16639 34690 11658 6884 18384 37709 34876 362 31285 46209 46969 43774 42016 8213 20575 17772 6850 7416 22841 15580 29655 11944 39386 14476 43195 12555 17750 39637 38370 1807 23684 7842 15935 30198 37729 13374 37344 19025 18023 42781 2091 42469 20928 26586 34...
output:
result:
Subtask #7:
score: 0
Runtime Error
Test #103:
score: 0
Runtime Error
input:
200000 1 118863 188865 188022 168616 118976 119404 178852 33449 81624 40431 151228 160976 68943 136313 57200 117631 147789 139875 100240 55537 164811 145415 103548 186750 15010 168029 155731 107005 69836 1502 86171 122700 83448 131948 189162 94464 128210 2509 49724 183329 174782 192641 27687 71315 1...