ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#214864 | #2683. Tourist Reform | wanghanyu393 | 100 | 1520ms | 65912kb | C++11 | 1.5kb | 2024-11-22 21:39:35 | 2024-11-22 23:13:57 |
answer
#include<iostream>
#include<cstring>
#include<stack>
#include<vector>
using namespace std;
const int N = 2e6 + 5;
struct edge{
int to, next;
}e[N << 1];
int head[N], cnt;
void add(int u, int v){
e[cnt] = {v, head[u]};
head[u] = cnt++;
}
vector<int>ans[N];
int dcc_cnt;
int bridge[N << 1];
int dfn[N], low[N], num;
int dcc[N], siz[N];
stack<int>s;
void tarjan(int u, int from){
dfn[u] = low[u] = ++num;
s.push(u);
for(int i = head[u]; ~i; i = e[i].next){
int v = e[i].to;
if(!dfn[v]){
tarjan(v, i);
low[u] = min(low[u], low[v]);
if(low[v] > dfn[u]) bridge[i] = bridge[i ^ 1] = 1;
}else if(i != (from ^ 1)) low[u] = min(low[u], dfn[v]);
}
if(dfn[u] == low[u]){
dcc_cnt++;
int v;
do{
v = s.top();
s.pop();
dcc[v] = dcc_cnt;
siz[dcc_cnt]++;
}while(u != v);
}
}
void solve(){
memset(head, -1, sizeof(head));
int n, m;
cin >> n >> m;
for(int i = 1; i <= m; i++){
int u, v;
cin >> u >> v;
add(u, v);
add(v, u);
}
for(int i = 1; i <= n; i++){
if(!dfn[i]) tarjan(i, -1);
}
int maxn = 0;
for(int i = 1; i <= dcc_cnt; i++){
maxn = max(maxn, siz[i]);
}
cout << maxn << '\n';
}
int main(){
int t = 1;
//cin >> t;
while(t--){
solve();
}
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 5
Accepted
time: 3ms
memory: 55948kb
input:
20 30 18 7 17 16 13 5 19 17 4 7 15 7 3 4 19 9 18 19 12 8 9 2 20 10 1 13 16 10 7 3 1 10 17 6 9 8 6 15...
output:
18
result:
ok single line: '18'
Test #2:
score: 5
Accepted
time: 15ms
memory: 55952kb
input:
20 30 16 15 4 17 20 4 18 7 7 4 4 1 19 20 15 19 7 6 18 1 9 8 8 20 19 8 9 11 10 12 3 6 3 16 8 11 20 1 ...
output:
14
result:
ok single line: '14'
Test #3:
score: 5
Accepted
time: 12ms
memory: 55952kb
input:
20 30 4 13 7 5 2 8 2 19 12 4 10 16 4 15 15 5 11 10 1 15 11 6 20 2 11 13 10 13 5 9 20 6 15 8 4 1 19 1...
output:
16
result:
ok single line: '16'
Test #4:
score: 5
Accepted
time: 7ms
memory: 55952kb
input:
20 30 13 9 17 3 8 11 15 13 4 1 11 17 11 15 4 19 16 18 20 11 6 19 3 14 9 11 7 17 5 11 13 17 20 12 13 ...
output:
18
result:
ok single line: '18'
Test #5:
score: 5
Accepted
time: 11ms
memory: 56188kb
input:
2000 5000 708 453 572 852 1614 1917 1407 1159 1934 1233 688 172 1303 292 802 1571 1464 562 503 1659 ...
output:
1949
result:
ok single line: '1949'
Test #6:
score: 5
Accepted
time: 12ms
memory: 56188kb
input:
2000 5000 1785 1100 260 653 50 1441 39 1157 1216 1677 1791 486 435 673 1830 257 972 1361 868 152 152...
output:
1937
result:
ok single line: '1937'
Test #7:
score: 5
Accepted
time: 12ms
memory: 56188kb
input:
2000 5000 1270 1265 1404 910 380 1260 615 661 1753 406 849 1506 1931 334 1907 926 1973 791 49 231 18...
output:
1942
result:
ok single line: '1942'
Test #8:
score: 5
Accepted
time: 14ms
memory: 56192kb
input:
2000 5000 482 1677 1320 654 797 413 883 93 870 388 379 505 1675 404 1552 29 1923 1293 1910 1682 214 ...
output:
1945
result:
ok single line: '1945'
Test #9:
score: 5
Accepted
time: 15ms
memory: 56196kb
input:
2000 5000 150 1583 474 1810 132 1383 1079 848 450 112 1868 1066 220 1816 246 538 993 845 1455 668 18...
output:
1943
result:
ok single line: '1943'
Test #10:
score: 5
Accepted
time: 7ms
memory: 56192kb
input:
2000 5000 617 199 32 1126 1554 1520 825 869 48 175 1433 295 898 1437 1894 1406 198 231 879 429 282 1...
output:
1961
result:
ok single line: '1961'
Test #11:
score: 5
Accepted
time: 138ms
memory: 65892kb
input:
100000 200000 467 88102 94619 59046 63290 96482 3400 43646 25426 95588 20105 2447 2643 33972 20699 2...
output:
92983
result:
ok single line: '92983'
Test #12:
score: 5
Accepted
time: 144ms
memory: 65896kb
input:
100000 200000 27398 80681 25414 65974 95017 4201 98299 1131 80294 27339 51487 27493 72073 81966 5334...
output:
92834
result:
ok single line: '92834'
Test #13:
score: 5
Accepted
time: 149ms
memory: 65912kb
input:
100000 200000 72059 3322 28860 17754 43114 10164 83599 61451 22795 86422 94403 75799 71197 17433 366...
output:
92889
result:
ok single line: '92889'
Test #14:
score: 5
Accepted
time: 141ms
memory: 65884kb
input:
100000 200000 81248 9937 29785 78778 16245 41542 73728 62922 58598 62765 93796 28166 27290 29783 784...
output:
92936
result:
ok single line: '92936'
Test #15:
score: 5
Accepted
time: 138ms
memory: 65888kb
input:
100000 200000 81053 73026 56619 38353 37925 53713 83161 4692 31847 87762 76858 5001 1292 82757 68814...
output:
93064
result:
ok single line: '93064'
Test #16:
score: 5
Accepted
time: 159ms
memory: 65900kb
input:
100000 200000 67275 33618 19697 91805 89698 29713 24087 66953 19687 980 1606 96935 39268 25232 3871 ...
output:
92954
result:
ok single line: '92954'
Test #17:
score: 5
Accepted
time: 143ms
memory: 65892kb
input:
100000 200000 21115 20555 52700 2269 51038 48309 70282 90215 22947 4210 84168 26599 72938 33830 1780...
output:
92901
result:
ok single line: '92901'
Test #18:
score: 5
Accepted
time: 129ms
memory: 65888kb
input:
100000 200000 62736 5878 46216 80273 33088 12121 43748 58403 91899 19150 44986 57634 97714 2625 3425...
output:
92871
result:
ok single line: '92871'
Test #19:
score: 5
Accepted
time: 138ms
memory: 65884kb
input:
100000 200000 4631 84264 55001 36495 79133 90543 16013 14038 83691 81215 86203 13841 64479 87645 201...
output:
92864
result:
ok single line: '92864'
Test #20:
score: 5
Accepted
time: 133ms
memory: 65900kb
input:
100000 200000 54746 86451 80666 46894 5710 18913 98631 55126 98380 87752 99701 94253 33741 48326 400...
output:
92905
result:
ok single line: '92905'