摘要: 题意: 一颗树,从点1出发,初始代价是访问每个点1次回到点1。现在要加k <= 2条边,求加了边后的最小代价。 分析: 当k = 1时,代价就是初始代价-直径 + 1 当k = 2时,目前还不能理解 void solve(){ int n, k; cin >> n >> k; vector<vect 阅读全文
posted @ 2024-01-12 11:00 _Yxc 阅读(15) 评论(0) 推荐(0)
摘要: 2次dfs solutions, 仅限边权为非负,或者没有边权(边权为1): void solve(){ int n; cin >> n; vector<vector<pair<int, int>>> al(n + 1); for (int i = 0; i < n - 1; ++i){ int u 阅读全文
posted @ 2024-01-12 10:14 _Yxc 阅读(9) 评论(0) 推荐(0)
摘要: 没有题目链接,上个代码,是为了求解树的重心数量以及节点编号 void solve(){ int n; cin >> n; vector<vector<int>> al(n + 1); for (int i = 1; i < n; ++i){ int u, v; cin >> u >> v; al[u 阅读全文
posted @ 2024-01-12 09:48 _Yxc 阅读(18) 评论(0) 推荐(0)