毛毛虫

题目链接

大致题意:

略~


解题思路:

求树的最长直径的扩展

可以发现,每一个结点的贡献是该节点度-1,运用到求数的最长路径,就是把节点个数换成了节点的度数-1

注意要特判n=1的情况

以1为根节点,跑一遍dfs,求出距离根节点最远的一端x

然后从x开始在跑一遍dfs,求出树的最长路径


AC代码:

#include <bits/stdc++.h>
#define rep(i, n) for (int i = 1; i <= (n); ++i)
#define debug(a) cout << #a << " = " << a << endl;
using namespace std;
typedef long long ll;
const int N = 3e5 + 10;
int n, m;
int f[N];
vector<int>e[N];
int res, x;
int du[N];
void dfs(int u, int fa, int sum) {if (sum > res) {res = sum; x = u;}for (auto& v : e[u]) {if (v == fa)continue;dfs(v, u, sum + du[v]);}
}
int main(void)
{scanf("%d%d", &n, &m);if (n == 1) exit((puts("1"), 0));for (int i = 1; i < n; ++i) {int a, b; scanf("%d%d", &a, &b);e[a].push_back(b);e[b].push_back(a);du[a]++, du[b]++;}for (int i = 1; i <= n; ++i)du[i]--;dfs(1, -1, du[1]);res = 0;dfs(x, -1, du[x]);cout << res + 2 << endl;return 0;
}

毛毛虫 (树形dp)相关推荐

  1. P3174 [HAOI2009]毛毛虫(树形dp)

    P3174 [HAOI2009]毛毛虫 题目描述 对于一棵树,我们可以将某条链和与该链相连的边抽出来,看上去就象成一个毛毛虫,点数越多,毛毛虫就越大.例如下图左边的树(图 1 )抽出一部分就变成了右边 ...

  2. The Lost House POJ - 2057(树形dp+贪心 (双线最优子结构问题))

    思路 题意:有一只蜗牛爬上树睡着之后从树上掉下来,发现后面的"房子"却丢在了树上面, 现在这 只蜗牛要求寻找它的房子,它又得从树根开始爬起,现在要求一条路径使得其找到房子 所要爬行 ...

  3. BNUOJ 52305 Around the World 树形dp

    题目链接: https://www.bnuoj.com/v3/problem_show.php?pid=52305 Around the World Time Limit: 20000msMemory ...

  4. [树形dp] Jzoj P5233 概率博弈

    Description 小A和小B在玩游戏.这个游戏是这样的: 有一棵n个点的以1为根的有根树,叶子有权值.假设有m个叶子,那么树上每个叶子的权值序列就是一个1->m 的排列. 一开始在1号点有 ...

  5. fwt优化+树形DP HDU 5909

    1 //fwt优化+树形DP HDU 5909 2 //见官方题解 3 // BestCoder Round #88 http://bestcoder.hdu.edu.cn/ 4 5 #include ...

  6. BZOJ 1040 ZJOI2008 骑士 树形DP

    题目大意:给定一个基环树林,每一个点上有权值,要求选择一个权值和最大的点集,要求点集中的随意两个点之间不能直接相连 最大点独立集--考虑到n<=100W,网络流铁定跑不了,于是我们考虑树形DP ...

  7. POJ 3342 树形DP+Hash

    这是很久很久以前做的一道题,可惜当时WA了一页以后放弃了. 今天我又重新捡了起来.(哈哈1A了) 题意: 没有上司的舞会+判重 思路: hash一下+树形DP 题目中给的人名hash到数字,再进行运算 ...

  8. [NC15748]旅游 树形dp基础

    菜鸡第一次接触树形dp这个东西,不过这个东西还是很好理解的(可能是因为模板题吧) 个人感觉,相比线性dp,树形dp的状态转移方程更加的直观,难点主要是在"树"的结构上比较麻烦. 题 ...

  9. 容斥 + 树形dp ---- 2021 icpc 沈阳 L Perfect Matchings

    题目链接 题目大意: 就是给你一个2n2n2n个点的完全图,从这个图里面抽出2n−12n-12n−1条边,这些边形成一颗树,现在问你剩下的图里面点进行完美匹配有多少种方案? 解题思路: 一开始被完美匹 ...

  10. 树形dp ---- gym101667 A(贪心 + 树形dp + 两个dp方程组维护)

    题目链接 题目大意: 就是一棵5e35e35e3的树,可以选择一些点,放上基站,如果uuu上的基站价值为ddd,那么距离uuu小于等于ddd的点都会被覆盖,问使得整棵树被覆盖需要的最小价值. 解题思路 ...

最新文章

  1. 如何用数学追到完美情人?
  2. (MyEclipse) MyEclipse完美破解方法(图)
  3. 解决toad中number类型小数位数过长按科学计数法显示的问题
  4. java信息管理系统总结_java实现科研信息管理系统
  5. maven项目中测试代码
  6. 远程桌面提示:身份验证错误 要求的函数不受支持
  7. rm 给你一个反悔的机会
  8. 数据分析之超市订单分析
  9. setCharacterEncoding和setContentType
  10. MySQL—隔离级别
  11. Pytest Hooks方法之pytest_collection_modifyitems改变测试用例执行顺序
  12. 美团技术:到店供应链及商品平台建设实践(胶片)
  13. 第k大的数python代码_Python实现查找数组中任意第k大的数字算法示例
  14. Solr查询参数sort(排序)
  15. 设置CMD窗口为UTF-8编码
  16. ACR122密钥X字典
  17. McAfee迈克菲杀毒软件企业版8.8.13-McAfee VirusScan Enterprise8.8 百度云
  18. 安装VS之后,excel每次启动都会配置Visual Studio的解决办法
  19. Unity资源管理(一)
  20. 如何在PS中去除图片文字?两种简单方法轻松搞定!

热门文章

  1. 2021-11-04
  2. 不同公式等号对齐_魔方的公式(第二版)
  3. 苹果手机语音备忘录在哪_苹果手机备忘录自带几种免费黑科技功能,让人相见恨晚,太实用了...
  4. python把英语句子成分字母_英语句子成分分析报告(最完整版)
  5. enym在此计算机运行是灰色,Win10重建引导记录mbr为灰色
  6. excel几个数相加等于某个数_EXCEL如何求出哪几个单元格里的数字之和等于某个特定值...
  7. React-注册事件
  8. 学建模从软件开始,8款超级好用的3d建模软件(内有安装包领取途径)
  9. 有监督学习、无监督学习、半监督学习和强化学习的总结
  10. js不同地图坐标系经纬度转换(同一经纬度,硬件/谷歌转高德地图;经纬度查询)