首页 > 其他分享 >洛谷 U285997 松鼠没有家

洛谷 U285997 松鼠没有家

时间:2024-06-23 12:57:34浏览次数:24  
标签:洛谷 nn int dfs 松鼠 500005 U285997

https://www.luogu.com.cn/problem/U285997#submit

题目描述

星斗大森林里有一棵参天巨树,树上有 nn 个结点,我们给它们编号 11~nn。

松鼠每天从树的这头窜到那头,因为它不认真写信息学作业只想划树叶子(树上没办法划水啊),被妈妈给批评了,于是回不了家。

现在松鼠想要知道,它从树的这头窜到树的那头,最多能跑过几个结点。

输入格式

你的程序将会输入 nn 行。

第一行一个整数,表示 nn。

接下来 n-1n−1 行,每行两个整数,以空格隔开,表示树上一条边的起点 aa 和终点 bb 。

输出格式

输出仅一个整数,表示松鼠跑过的最远距离。

ac.....

#include <bits/stdc++.h>
using namespace std;
vector <int>tree[500005];

只讲dfs

int d[500005],ans,p;
void dfs(int u,int fa)
{
	if(d[u]>d[p]) p=u;
	for(int i=0;i<tree[u].size();i++)
	{
		int v=tree[u][i];
		if(v==fa) continue; 
		d[v]=d[u]+1;
		dfs(v,u);
	}
}

主函数就不讲啦

标签:洛谷,nn,int,dfs,松鼠,500005,U285997
From: https://blog.csdn.net/hzc11451/article/details/139898732

相关文章

  • 洛谷 P1030 [NOIP2001 普及组] 求先序排列
    因为题目求先序,意味着要不断找根。那么我们来看这道题方法:(示例)中序ACGDBHZKX,后序CDGAHXKZB,首先可找到主根B;那么我们找到中序遍历中的B,由这种遍历的性质,可将中序遍历分为ACGD和HZKX两棵子树,那么对应可找到后序遍历CDGA和HXKZ(从头找即可)从而问题就变成求1.中序遍历ACGD,后序......
  • 洛谷
    题目链接:思路    代码#include<bits/stdc++.h>usingnamespacestd;#definelllonglongconstintN=1e4+10;llx,y,dx,dy,n;boolvis[N];intmp[1010][1010];structpoint{intx,y;booloperator<(conststructpointa)const{......
  • 洛谷P1304 哥德巴赫猜想 (质数题) (内含埃氏筛和欧拉筛等一些小总结解释)
    题目题目解析题目意思很简单,对于每一组数据来说,就是找这个偶数的两个质数相加的那两个质数,并且要满足加法中的第一个质数要是最小的质数,满足第一个质数是最小的质数的情况下也要保证第二个数也是质数代码#include<bits/stdc++.h>usingnamespacestd;boolis_prime(in......
  • 洛谷 P1020 导弹拦截
    题目链接:导弹拦截思路    代码#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+5;inta[N],x,l,dp[N],maxn;intg[N],cnt;intmain(){while(cin>>x)a[++l]=x;for(inti=1;i<=l;i++){intk=1......
  • P1255洛谷
    #include<bits/stdc++.h>#include<math.h>#include<cmath>usingnamespacestd;constintmaxn=5050;structBigInt{  inta[maxn];  intlen;  BigInt(){len=1;memset(a,0,sizeofa);}  BigInt(char*s){    len=strlen(s);  ......
  • 洛谷 B3867 [GESP202309 三级] 小杨的储蓄 题解
     题目题目-[GESP202309三级]小杨的储蓄-洛谷题目描述小杨共有 ......
  • 洛谷 P1122 最大子树和
    题目链接:最大子树和思路    由于可以无限剪枝,所以假设以节点1为根,并删去所有美丽质数小于0的子树,又考虑到可能会出现根节点为负数,导致可能会只留下子树而把节点1为根节点的其他部分扔掉,所以需要dp数组记录,dp[i]为以节点i为根节点能得到的最大的美丽指数,贪心将节点i的子......
  • 洛谷 P1162 填涂颜色
    题目链接:填涂颜色思路代码#include<bits/stdc++.h>usingnamespacestd;constintN=30+10;#definelllonglongintmp[N][N],dir[5][2]={{1,0},{0,1},{-1,0},{0,-1}},n;boolvis[N][N];boolcheck(intx,inty){returnx>=......
  • 洛谷 P1216 数字三角形
    题目链接:数字三角形思路    dp:金字塔顶的元素为起点,金字塔每行的最左侧数字只能从上一层的最左侧数字到达,如7->3->8->2->4,这些数字中的每一个(除起点7外)都只能从上一层的最左侧数字到达,递推公式为dp[i][1]=max(dp[i][1],num[i][1]+dp[i-1][1],最右侧数字......
  • 洛谷 P4343 自动刷题机
    题目链接:自动刷题机思路    二分典题,两个二分判断出可能的最大值和最小值。需要注意当删掉y行代码后,当前代码行数小于0时需要将代码行数重新赋值为0,然后需要注意二分的n最大值的边界,因为x[i]的最大值为1e9,日志最多有1e5行,所以考虑极限情况,日志每一行都是写了1e9行代码,......