文章分类 -  二分

摘要:第一问很简单,第二问 \(dp\)。 (真是哪都能混个 \(dp\)) 参考题解 #include <bits/stdc++.h> using namespace std; int read() { int x = 0, f = 1; char c = getchar(); while (c < ' 阅读全文
posted @ 2025-01-05 21:01 syzyc 阅读(20) 评论(0) 推荐(0)
摘要:思路 题目要求断若干条边后形成的连通块中,最大的直径最小,很明显的二分。关键就在于如何写 \(check\) 函数了。 可以用 \(dfs\) 来判断要断哪条边。 一、\(d[u]\) 定义 设 \(d[u]\) 为从 \(u\) 出发到子树中【断开边后连通块的叶子节点】所经过的最多的节点数,包括 阅读全文
posted @ 2025-01-05 20:43 syzyc 阅读(28) 评论(0) 推荐(0)