首页 > 其他分享 >我汤姆回来了(树和图的深度优先遍历(树的重心))(10/11)

我汤姆回来了(树和图的深度优先遍历(树的重心))(10/11)

时间:2023-10-11 17:48:38浏览次数:45  
标签:树和图 10 idx int sum ans 11 节点 size

#include<iostream>
#include<cstring>
using namespace std;
const int N = 100010; const int M = N * 2;//可能多次节点重复,所以开大
int n; int e[M], ne[M], h[N], idx = 0;
bool st[N]; int ans = N;//记录最后最小值答案
//单链表的连接,不同点就是头结点有多个
void add(int a, int b) {
    e[idx] = b; ne[idx] = h[a]; h[a] = idx++;
}

int dfs(int u)
{
    st[u] = true; int sum = 0; int size = 0;
    for (int i = h[u]; i != -1; i = ne[i]) {//遍历节点
        int j = e[i];
        if (st[j]) continue;
        int s = dfs(j);//节点没被遍历过,进行深搜,返回节点个数,一条链
        size = max(size, s);//记录去掉该节点后连通块最大值
        sum += s;//求链的全部节点
    }
    size = max(size, n - sum - 1);
    ans = min(ans, size);
    return sum + 1;//返回节点个数加自己
}

int main()
{
    scanf("%d", &n);

    memset(h, -1, sizeof h);

    for (int i = 0; i < n - 1; i++)
    {
        int a, b;
        scanf("%d%d", &a, &b);
        add(a, b), add(b, a);
    }

    dfs(1);

    printf("%d\n", ans);

}

 

标签:树和图,10,idx,int,sum,ans,11,节点,size
From: https://www.cnblogs.com/daimazhishen/p/17757763.html

相关文章

  • ASEMI整流桥GBU810参数,GBU810封装
    编辑-ZGBU810参数描述:型号:GBU810最大直流反向电压VR:1000V最大工作峰值反向电压VRWM:700V最大平均正向电流IF:8A非重复正向浪涌电流IFSM:200A操作和储存温度范围TJ,TSTG:-55to150℃正向电压VF:1.1V最大反向泄漏电流IRM:5uA每个元件的典型热阻RthJA:2.2℃/W GBU810封装规格:封装:GBU-4总长......
  • 2023年10月11日阅读笔记
    《深入理解计算机系统》这不仅是一本介绍计算机系统的教材,更是一本引领读者探索未知世界,理解计算机本质的指南。在阅读这本书的过程中,我深感计算机系统的复杂性和奇妙性,同时也领悟到技术背后的哲学思想。首先,这本书让我明白了计算机系统的各个层次和组件是如何协同工作的。从程......
  • 2023-10-10 ts+formily 开发日志
    PromiseResponsePaginateResult:简介:一个TypeScript的类型,用于处理异步操作返回的分页结果,类似于promise,包含分页信息属性:data:数据源total:数据量的总数limit:每页数据量page:当前页码pages:总页数......
  • 2023.10.11测试
    \[\text{NOIP模拟赛-2023.10.11}\]T1染色给定\(n\),需要给整数\(1\simn\)染色,使得对于所有\(1\leqi\leqj\leqn\),若\(j-i\)为质数,则\(i,j\)不同色。求颜色最少的染色方案,输出任意一种方案\(1\leqn\leq10000\)诈骗题观察到若\(j=i+4\)则\(i,j\)可同色,所以答......
  • ERROR in node_modules/rxjs/dist/types/internal/operators/combineLatest.d.ts(3,61
    原文链接:https://www.longkui.site/error/error-in-node_modules-rxjs/4839/angular项目,启动的时候报错。详细的报错如下:这个报错的原因比较简单,rxjs的版本不对,我用的是angular7可能和rxjs版本不匹配。解法方法也很简单,主要是降版本,我们找到项目的package.json把rxjs版本改成......
  • DPDK-22.11.2 [四] Virtio_user as Exception Path
    因为dpdk是把网卡操作全部拿到用户层,与原生系统驱动不再兼容,所以被dpdk接管的网卡从系统层面(ipa/ifconfig)无法看到,同样数据也不再经过系统内核。如果想把数据再发送到系统,就要用到virtiouser。这种把数据从dpdk再发送到内核的步骤,就叫做exceptionpath。有关virtiouser,又有一......
  • Window 11中修改微软edge浏览器alt+tab切换标签而无法切换系统窗口的问题
    最近刚转手使用Edge浏览器的时候发现不能用alt+tab切换别的应用上,在浏览器设置上找了半天还是没有,最后离谱的在系统设置里面多任务窗口找到了这个设置。打开设置找到多任务处理,点开后里面第二项修改为不显示选项卡即可。......
  • NOI2024省选训练赛 11 解题报告
    NOI2024省选训练赛11解题报告目录NOI2024省选训练赛11解题报告A.小L的栈DescriptionConstraintsSolutionConclusionB.intervalDescriptionConstraintsSolutionConclusionC.DigitSumDescriptionConstraintsSolutionConclusionD.机器故障探测DescriptionConstraintsSoluti......
  • NXP ls1021a coremark跑分
    RELEASE版本2Kperformancerunparametersforcoremark.CoreMarkSize:666Totalticks:42504300Totaltime(secs):42.504300Iterations/Sec:2352.703138Iterations:100000Compilerversion:GCC4.9.320150311(prerelease)Compilerflags:-o3......
  • 安装windows11时卡在网络连接界面无法继续进行系统配置的处理方法
    1、问题描述:windows11安装后第一次开机,系统在联网界面出现如下图情况,无法继续下一步。 2.解决方法1、断电重启电脑2、按shift+F10弹出管理员命令行窗口3、输入oobe\bypassnro回车,电脑重启4、在到联网界面时,点击“我没有Internet连接选项”就可以继续进行系统设置5、进......