提出 #73720660
ソースコード 拡げる
#include<bits/stdc++.h>
#define LL long long
#define PII pair<int, int>
#define PLI pair<LL, int>
#define PLL pair<LL, LL>
using namespace std;
const int N = 2e5, inf = 1e9;
vector<vector<int> > g;
bool vis[N + 5];
int n, siz[N + 5], mimx, tsiz, rt;
void get_siz(int u = rt, int p = 0) {
tsiz++;
for (auto v : g[u]) {
if (vis[v] || v == p) continue;
get_siz(v, u);
}
}
void get_rt(int u, int p = 0) {
siz[u] = 1;
int ret = 0;
for (auto v : g[u]) {
if (vis[v] || v == p) continue;
get_rt(v, u);
siz[u] += siz[v];
ret = max(ret, siz[v]);
}
ret = max(ret, tsiz - siz[u]);
if (ret < mimx) {
rt = u;
mimx = ret;
}
}
int getd(int u, int p, int d = 1) {
int ret = 0, cnt = 0;
for (auto v : g[u]) if (v != p) cnt++;
if (cnt >= 2) ret = d;
if (cnt <= 2) return ret;
for (auto v : g[u]) if (!vis[v] && v != p) {
ret = max(ret, getd(v, u, d + 1));
}
return ret;
}
int ans = 0;
void calc(int u) {
int cnt = 0, mx = 0;
for (auto v : g[u]) cnt++;
if (cnt >= 2) ans = max(ans, 1);
for (auto v : g[u]) if (!vis[v]) {
int ret = getd(v, u);
if (cnt >= 3) ans = max(ans, ret + 1);
if (cnt >= 4) {
ans = max(ans, mx + 1 + ret);
mx = max(mx, ret);
}
}
}
void devide() {
vis[rt] = 1;
calc(rt);
for (auto v : g[rt]) {
if (vis[v]) continue;
mimx = inf;
get_rt(v);
tsiz = 0;
get_siz();
devide();
}
}
inline void solve() {
cin >> n; ans = 0;
g.clear(); g.resize(n + 1);
memset(vis, 0, sizeof vis);
for (int i = 1; i < n; i++) {
int u, v; cin >> u >> v;
g[u].push_back(v);
g[v].push_back(u);
}
mimx = inf;
get_rt(1);
tsiz = 0;
get_siz();
devide();
cout << ans << "\n";
}
signed main() {
ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
int t = 1;
cin >> t;
while (t--) solve();
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Centipede Graph |
| ユーザ | C202627yehan |
| 言語 | C++23 (GCC 15.2.0) |
| 得点 | 500 |
| コード長 | 1864 Byte |
| 結果 | AC |
| 実行時間 | 518 ms |
| メモリ | 19164 KiB |
コンパイルエラー
./Main.cpp: In function 'void calc(int)':
./Main.cpp:46:19: warning: unused variable 'v' [-Wunused-variable]
46 | for (auto v : g[u]) cnt++;
| ^
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt |
| All | 00_sample_00.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 01_small_06.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 03_path_00.txt, 03_path_01.txt, 03_path_02.txt, 03_path_03.txt, 03_path_04.txt, 03_path_05.txt, 03_path_06.txt, 03_path_07.txt, 03_path_08.txt, 03_path_09.txt, 04_star_00.txt, 04_star_01.txt, 04_star_02.txt, 05_uni_00.txt, 05_uni_01.txt, 05_uni_02.txt, 05_uni_03.txt, 05_uni_04.txt, 05_uni_05.txt, 06_bi-ternary_00.txt, 06_bi-ternary_01.txt, 06_bi-ternary_02.txt, 06_bi-ternary_03.txt, 06_bi-ternary_04.txt, 06_bi-ternary_05.txt, 06_bi-ternary_06.txt, 06_bi-ternary_07.txt, 06_bi-ternary_08.txt, 06_bi-ternary_09.txt, 06_bi-ternary_10.txt, 06_bi-ternary_11.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3792 KiB |
| 01_small_00.txt | AC | 85 ms | 3732 KiB |
| 01_small_01.txt | AC | 88 ms | 3760 KiB |
| 01_small_02.txt | AC | 88 ms | 3976 KiB |
| 01_small_03.txt | AC | 87 ms | 3908 KiB |
| 01_small_04.txt | AC | 87 ms | 3788 KiB |
| 01_small_05.txt | AC | 88 ms | 3756 KiB |
| 01_small_06.txt | AC | 58 ms | 3884 KiB |
| 02_random_00.txt | AC | 85 ms | 4036 KiB |
| 02_random_01.txt | AC | 88 ms | 3836 KiB |
| 02_random_02.txt | AC | 85 ms | 3836 KiB |
| 02_random_03.txt | AC | 443 ms | 13928 KiB |
| 02_random_04.txt | AC | 286 ms | 9528 KiB |
| 02_random_05.txt | AC | 343 ms | 11832 KiB |
| 02_random_06.txt | AC | 334 ms | 10936 KiB |
| 02_random_07.txt | AC | 271 ms | 8796 KiB |
| 03_path_00.txt | AC | 95 ms | 3952 KiB |
| 03_path_01.txt | AC | 98 ms | 3828 KiB |
| 03_path_02.txt | AC | 144 ms | 4656 KiB |
| 03_path_03.txt | AC | 149 ms | 4512 KiB |
| 03_path_04.txt | AC | 215 ms | 9240 KiB |
| 03_path_05.txt | AC | 262 ms | 9636 KiB |
| 03_path_06.txt | AC | 484 ms | 18384 KiB |
| 03_path_07.txt | AC | 415 ms | 19164 KiB |
| 03_path_08.txt | AC | 518 ms | 18468 KiB |
| 03_path_09.txt | AC | 411 ms | 17956 KiB |
| 04_star_00.txt | AC | 58 ms | 16072 KiB |
| 04_star_01.txt | AC | 37 ms | 4440 KiB |
| 04_star_02.txt | AC | 59 ms | 11396 KiB |
| 05_uni_00.txt | AC | 70 ms | 3912 KiB |
| 05_uni_01.txt | AC | 87 ms | 4324 KiB |
| 05_uni_02.txt | AC | 138 ms | 8556 KiB |
| 05_uni_03.txt | AC | 199 ms | 15408 KiB |
| 05_uni_04.txt | AC | 194 ms | 15324 KiB |
| 05_uni_05.txt | AC | 194 ms | 15460 KiB |
| 06_bi-ternary_00.txt | AC | 203 ms | 15280 KiB |
| 06_bi-ternary_01.txt | AC | 134 ms | 8168 KiB |
| 06_bi-ternary_02.txt | AC | 59 ms | 3888 KiB |
| 06_bi-ternary_03.txt | AC | 209 ms | 15280 KiB |
| 06_bi-ternary_04.txt | AC | 146 ms | 7940 KiB |
| 06_bi-ternary_05.txt | AC | 60 ms | 4052 KiB |
| 06_bi-ternary_06.txt | AC | 211 ms | 15396 KiB |
| 06_bi-ternary_07.txt | AC | 153 ms | 8796 KiB |
| 06_bi-ternary_08.txt | AC | 59 ms | 3836 KiB |
| 06_bi-ternary_09.txt | AC | 262 ms | 15152 KiB |
| 06_bi-ternary_10.txt | AC | 142 ms | 7204 KiB |
| 06_bi-ternary_11.txt | AC | 60 ms | 3844 KiB |