社区讨论
求问时间复杂度
学术版参与者 9已保存回复 19
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 19 条
- 当前快照
- 1 份
- 快照标识符
- @mbuv2py5
- 此快照首次捕获于
- 2025/06/13 21:46 9 个月前
- 此快照最后确认于
- 2025/11/04 10:21 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 50;
int n, d[N], c[N];
vector <int> e[N];
int main() {
scanf("%d", &n);
for (int i = 1; i < n; i++) {
int u, v;
scanf("%d%d", &u, &v);
d[u]++, d[v]++;
e[u].push_back(v);
e[v].push_back(u);
}
int ans = 0;
for (int i = 1; i <= n; i++) {
int id = 0;
for (auto j : e[i])
c[++id] = d[j] - 1;
sort(c + 1, c + id + 1);
for (int j = 1; j <= id; j++)
if (c[j])
ans = max(ans, (1 + c[j]) * (id - j + 1) + 1);
}
printf("%d\n", n - ans);
return 0;
}
人机 deepseek 说这份代码时间复杂度是 。为什么我觉得是
回复
共 19 条回复,欢迎继续交流。
正在加载回复...