ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#194486 | #3411. 紫丁香 | FAT | 100 | 2779ms | 117836kb | C++11 | 1.2kb | 2023-10-15 15:34:31 | 2023-10-15 18:48:49 |
answer
#include <bits/stdc++.h>
#define PB push_back
#define EB emplace_back
using namespace std;
const int maxn = 600000, maxm = 900000;
pair<int, int> e[maxm + 5];
int bl[maxn + 5], sz[maxn + 5];
vector<int> L[maxn + 5];
int fr[maxm + 5], to[maxm + 5];
vector<int> mv[maxm + 5];
int val[maxn + 5], s[maxn + 5];
int main() {
int n, m;
scanf("%d%d", &n, &m);
for (int i = 1; i <= m; i++) {
int u, v;
scanf("%d%d", &u, &v);
e[i] = {u + 1, v + 1};
}
for (int i = 1; i <= n; i++) bl[i] = i, sz[i] = 1, L[i] = {i};
for (int i = m; i; i--) {
int u, v; tie(u, v) = e[i];
if (bl[u] != bl[v]) {
u = bl[u], v = bl[v];
if (sz[u] < sz[v]) swap(u, v);
fr[i] = u, to[i] = v;
mv[i] = L[v];
for (int x : L[v]) L[u].PB(x), bl[x] = u;
L[v].clear();
sz[u] += sz[v];
}
}
fill(s + 1, s + n + 1, 1);
val[bl[1]] = n & 1;
for (int i = 1; i <= m; i++) {
bool kp = 0;
if (fr[i]) {
val[to[i]] = 0;
for (int x : mv[i]) {
val[to[i]] ^= s[x];
bl[x] = to[i];
}
val[fr[i]] ^= val[to[i]];
if (val[to[i]] != val[fr[i]] || val[fr[i]]) kp = 1;
} else kp = 1;
putchar('0' + kp);
if (kp) {
int u, v; tie(u, v) = e[i];
s[u] ^= 1, s[v] ^= 1;
val[bl[u]] ^= 1, val[bl[v]] ^= 1;
}
}
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 5
Accepted
time: 7ms
memory: 43448kb
input:
16 20 2 0 12 7 9 5 8 5 10 6 10 4 6 7 15 4 3 12 3 2 0 4 11 7 6 2 7 4 15 11 14 13 1 0 4 3 5 0 13 9
output:
11111011010110011010
result:
ok "11111011010110011010"
Test #2:
score: 5
Accepted
time: 4ms
memory: 43448kb
input:
18 20 1 11 10 3 16 11 6 2 7 5 3 1 17 16 12 9 9 7 8 4 7 6 15 14 1 0 4 2 5 3 14 13 10 6 11 10 2 0 13 8
output:
11011011000101000011
result:
ok "11011011000101000011"
Test #3:
score: 5
Accepted
time: 11ms
memory: 43444kb
input:
15 20 1 0 5 4 1 10 8 12 2 0 7 5 4 2 10 6 9 5 11 10 1 9 1 14 12 9 14 12 8 5 13 10 11 3 3 2 8 11 6 3
output:
11111101101011011000
result:
ok "11111101101011011000"
Test #4:
score: 5
Accepted
time: 7ms
memory: 43452kb
input:
17 20 16 13 11 9 10 7 3 2 13 6 8 4 5 2 14 10 6 5 2 1 9 6 7 5 13 14 11 5 15 13 1 0 6 3 4 0 13 9 12 9
output:
11111110010010110011
result:
ok "11111110010010110011"
Test #5:
score: 5
Accepted
time: 7ms
memory: 43476kb
input:
300 299 294 281 166 158 222 217 151 145 84 71 267 261 247 241 286 281 76 66 180 169 39 20 232 222 27...
output:
1111111111110011111101011111001110001100111110110111110010110101110101011011011110010101000100001101...
result:
ok "111111111111001111110101111100...1011101011010010110111110011101"
Test #6:
score: 5
Accepted
time: 11ms
memory: 43640kb
input:
2000 1999 757 585 1373 1236 1295 1280 727 618 833 710 258 215 89 76 687 508 1074 1019 293 143 50 14 ...
output:
1011111111111111010110101110111111110110101110110001001111110110010000001110011010010100101011100111...
result:
ok "101111111111111101011010111011...1111101000101111011000111111111"
Test #7:
score: 5
Accepted
time: 71ms
memory: 55004kb
input:
100000 99999 73194 73008 41052 40941 55220 55039 86403 86384 4179 4160 10646 10568 56215 56159 45981...
output:
1110100111101100011001101011011000110011111111010100110110111000101101101111111011010010111110010111...
result:
ok "111010011110110001100110101101...0110111110110100010001110001111"
Test #8:
score: 5
Accepted
time: 658ms
memory: 110756kb
input:
600000 599999 194132 191404 140239 136191 4921 1282 419648 418493 153091 150134 296533 296481 519209...
output:
1111101110011101111010100010001000110100000110001010111111111110110001110101110110000101100100110111...
result:
ok "111110111001110111101010001000...1000100001110111001001011010011"
Test #9:
score: 5
Accepted
time: 19ms
memory: 43476kb
input:
299 298 201 165 224 184 162 143 47 43 119 112 261 247 176 163 147 137 48 30 204 166 277 270 231 213 ...
output:
1111111101110000011100111110101101010011110011000111111011111110110101101101011010001101011000111100...
result:
ok "111111110111000001110011111010...1111000001011110111101001111110"
Test #10:
score: 5
Accepted
time: 17ms
memory: 43632kb
input:
1999 1998 1355 1122 981 623 1086 662 375 361 1977 1895 1433 1305 557 453 294 252 525 95 495 155 508 ...
output:
1111110011101111101101001111011101110010111111000001111010111010011101111011101111011001111011111111...
result:
ok "111111001110111110110100111101...1010000110001111111001101110100"
Test #11:
score: 5
Accepted
time: 74ms
memory: 55296kb
input:
99999 99998 25022 25018 65119 65045 11448 11360 54753 54705 99099 99019 8814 8801 11834 11833 4696 4...
output:
1111101010011100111111100111100101101101010100111111111011110111101111101011111100011101100011000000...
result:
ok "111110101001110011111110011110...0011111010111111010100011111010"
Test #12:
score: 5
Accepted
time: 607ms
memory: 117836kb
input:
599999 599998 125088 125025 398757 398663 167632 167499 258120 257975 475342 475233 193827 193810 59...
output:
1110110101110110111101111011111000011101101100111111110101100101010111010111101111011101110110101111...
result:
ok "111011010111011011110111101111...1010011001001111101001100000011"
Test #13:
score: 5
Accepted
time: 18ms
memory: 43484kb
input:
300 1000 77 293 281 262 159 18 100 97 183 181 290 121 191 51 164 153 291 157 239 222 20 98 250 242 1...
output:
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
result:
ok "111111111111111111111111111111...1100110011110100111111101000000"
Test #14:
score: 5
Accepted
time: 0ms
memory: 43672kb
input:
2000 9000 636 345 687 647 1682 568 1056 1310 1646 1159 560 1496 1309 543 1848 1814 47 3 244 424 590 ...
output:
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
result:
ok "111111111111111111111111111111...1101000100111000001001001001001"
Test #15:
score: 5
Accepted
time: 83ms
memory: 53840kb
input:
100000 230000 10511 94005 24602 24585 33423 1387 67759 4745 8186 94797 73254 63598 57411 37525 83831...
output:
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
result:
ok "111111111111111111111111111111...0011011010011001011001101010101"
Test #16:
score: 5
Accepted
time: 552ms
memory: 103600kb
input:
600000 900000 296769 296551 458090 457857 239064 239003 184305 184304 221498 350568 253198 253084 24...
output:
1111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111...
result:
ok "111111111111111111110111111111...1000101000001001111011000110101"
Test #17:
score: 5
Accepted
time: 8ms
memory: 43484kb
input:
299 770 285 270 189 187 129 101 100 3 92 90 250 110 154 120 131 107 175 255 230 220 154 87 67 52 258...
output:
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
result:
ok "111111111111111111111111111111...1100001110011000100100110101000"
Test #18:
score: 5
Accepted
time: 4ms
memory: 43644kb
input:
1999 4500 1897 1865 250 180 1381 777 266 586 1777 1753 812 69 770 744 41 18 1324 672 1965 1951 1560 ...
output:
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
result:
ok "111111111111111111111111111111...1001001100111100010011001111100"
Test #19:
score: 5
Accepted
time: 89ms
memory: 53608kb
input:
99999 190000 90162 81985 81949 81930 54529 84617 84796 93322 27605 27545 26745 26710 71204 64464 634...
output:
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
result:
ok "111111111111111111111111111111...0111101101110000110110110001110"
Test #20:
score: 5
Accepted
time: 532ms
memory: 103544kb
input:
599999 900000 385514 385468 292526 292439 9606 9495 367860 547671 271946 271942 504559 504485 158913...
output:
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...
result:
ok "111111111111111111111111111111...0010011011001100011111110100000"
Extra Test:
score: 0
Extra Test Passed