摘要: 比赛链接 T1 思路 简单 dp。 代码 #include<bits/stdc++.h> #define int long long using namespace std; const int N=1e5+5; int n,a[N],b[N],c[N],f[N][3]; signed main() 阅读全文
posted @ 2025-03-09 18:11 scguo_931664 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 树的中心 定义 当一棵树以点 x 为根时,树的高度(深度)最小,则称 x 为数的中心。 性质 树的中心不唯一,但是至多只有 2 个点为树的中心。 树的中心若有多个,则它们一定相邻。 树上的所有点到其最远端的路径,一定交汇于树的中心。 树的中心做根节点时,从树的中心出发的最长链 阅读全文
posted @ 2025-03-09 17:22 scguo_931664 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 这次介绍树形DP求法。 在上一次的最后已经提到了思路,但是处理不共边还是需要使用树形DP,所以这里详细介绍。 首先这次的树形DP依然是以 dfs 的形式存在,我们使用 dis1idis2i 分别记录以 i 为起点的最长链长度和次长链长度,答案就是 \(max(dis 阅读全文
posted @ 2025-03-02 18:04 scguo_931664 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 比赛链接 T1 注意到 wi 很小,枚举 w 即可。 Code #include <bits/stdc++.h> using namespace std; const int kMaxN = 1e5 + 5; int n, a[kMaxN], vis[205]; void S() 阅读全文
posted @ 2025-03-02 17:42 scguo_931664 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 比赛链接 T1 100 pts。 思路 枚举左端点,二分右端点,时间 O(nlogn),比 std(O(100×n)) 优秀。 Code #include <bits/stdc++.h> #define int long long using namespace 阅读全文
posted @ 2025-02-23 21:18 scguo_931664 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 定义 一个树的直径就是树上两个点的距离中最长的距离。 性质 树的直径的路径不一定唯一。 树的端点一定是度数为 1 的点。 树的直径若有多条,则一定交汇于数的中心(以这个点为根,树的最大深度最小)。 树上任意点 i,距离 i 最远的点,一定是树的直径的端点之一。 求法 Floy 阅读全文
posted @ 2025-02-23 20:40 scguo_931664 阅读(16) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示