SGU 134 Centroid(树形dp)

WSL2不能上网,Failed to connect to github.com port 443问题解决方案 WSL2不能上网: 问题:ping外网无效 例如:ping www.baidu.com失败 解决方案: 在wsl: $sudo vi /etc/wsl.conf wsl.conf: [network] generateResolvConf = false 在PowerShell: $sudo vi /etc/etc/resolv.conf resolv.conf: # This file was automatically generated by WSL. To stop automatic gen 阅读详情

题目链接:SGU 134 Centroid

树形dp。

要找一个点所有子节点(包括这个点的父节点)中具有最大节点数的子节点有两个方向,一个是以这个这个点的所有真正子节点为根的树,另一个是以这个点的父节点为根的树。

这个点父节点那棵树的节点数 = n - (这个点所有子节点的节点数 + 这个点)。

#include <iostream>
#include <stdio.h>
#include <vector>
#include <cstring>
#include <algorithm>

using namespace std;

const int MAX_N = 16000 + 100;
const int MAX_M = MAX_N << 1;
const int INF = (1 << 30);

struct Edge
{
    int v, next;
};
Edge e[MAX_M];
vector <int> vec;
int d[MAX_N], head[MAX_N];
int n, u, v, ans, cnt;

void addEdge(int u, int v)
{
    e[cnt].v = v;
    e[cnt].next = head[u];
    head[u] = cnt;
    cnt++;
}
void dp(int u, int fa)
{
    d[u] = 1;
    int temp = 0;
    int v;
    for(int i = head[u]; i != -1; i = e[i].next)
    {
        v = e[i].v;
        if(v == fa) //添加双向边的意义所在
            continue;
        dp(v, u);
        d[u] += d[v];
        temp = max(temp, d[v]);//从子节点中寻找
    }
    temp = max(temp, n - d[u]);//父节点含节点数与子节点中含最大节点数的那个比较大小
    if(temp < ans)
    {
        ans = temp;
        vec.clear();
        vec.push_back(u);
    }
    else if(temp == ans)
        vec.push_back(u);
}
int main()
{
    scanf("%d", &n);
    memset(head, -1, sizeof(head));
    cnt = 0;
    ans = INF;
    for(int i = 1; i < n; i++)
    {
        scanf("%d%d", &v, &u);
        addEdge(u, v);
        addEdge(v, u);
    }
    dp(1, -1);
    printf("%d %d\n", ans, vec.size());
    sort(vec.begin(), vec.end());
    for(int i = 0; i < vec.size() - 1; i++)
        printf("%d ", vec[i]);
    printf("%d\n", vec[vec.size() - 1]);
    return 0;
}


 

教程:使用树莓派连接Pixhawk飞控 教程:使用树莓派连接Pixhawk飞控树莓派可以与Pixhawk飞控相连,读取飞控中的状态信息,同时对飞控发送指令。树莓派作为一个更高性能的计算平台,可以运行图像识别、机器学习、实时路径规划等程序,为开源无人机带来了无限可能。本文将介绍如何在树莓派上使用APSync。不需要了解Linux,即可将树莓派连接到Pixhawk飞控。使用的器材为: Pixhawk飞控 树莓派3B(Raspberry Pi 阅读详情

相关推荐

深入解析时钟同步技术:相位同步、频率同步与同源时钟的实战应用

本文深入解析时钟同步技术的三种核心方式:相位同步、频率同步与同源时钟,详细阐述其技术原理、实现方案及实战应用。通过对比分析不同同步方式的特点与适用场景,为电子系统设计提供选型指南,帮助工程师优化时钟网络设计,提升系统稳定性和性能。

weixin_29240711的博客 449

OpenCV目标跟踪之质心跟踪(Centroid)

Casevision公司的AVT21自动视频跟踪算法模块提供了多种跟踪算法:质心跟踪算法(Centroid)、多目标跟踪算法(MTT)、相关跟踪算法(Correlation)、边缘跟踪算法(Edge)、相位相关跟踪算法(Phase Correlation),场景锁定算法(SceneLock)和组合(Combined)跟踪算法。 质心跟踪算法(Centroid) 这种跟踪方式用于跟踪有界目标

Every moment of My life !!! 1万+

H3C无线控制器二层注册实战:从零配置到AP上线全流程(附常见问题排查)

本文详细解析了H3C无线控制器二层注册的全流程,从网络基础准备、AC核心配置到AP上线,重点阐述了CAPWAP隧道建立的关键步骤。文章提供了清晰的典型配置示例,并针对AP无法上线、状态异常等常见问题,给出了六种典型故障现象的排查思路与解决命令,帮助网络工程师快速定位并解决问题。

weixin_29214199的博客 546

【MoE】DeepSeekMoE

与辅助损失控制的负载均衡策略不同,无损失平衡策略不依赖辅助损失函数。传统策略靠引入辅助损失函数平衡专家负载,但会带来不良梯度,干扰模型语言建模目标,影响学习效果。无损失平衡策略则无此问题,训练过程更顺畅,让模型能专注主要任务,对训练更友好。根据这个规则,下一批原材料分配时,会倾向分给绩效分高或休息时间长的工人,以此平衡工作量。管理者观察工人状态,若工人手头任务少,就优先分配原材料;若任务多,就减少分配。这种方式不设额外惩罚,只根据工人实时工作量动态分配,既保证工作量均衡,又让工人专注生产。

麦格芬230的博客 732

ICG cell如何通过Latch结构消除与门clock gating中的glitch?

本文深入解析了ICG Cell如何利用Latch结构解决传统与门时钟门控中的毛刺问题。通过将电平敏感锁存器与门控与门结合,ICG Cell将使能信号的变化严格限制在时钟低电平的安全窗口内采样和锁存,从而在时钟有效沿期间提供稳定的控制信号,从根本上消除了因信号延迟不同步而产生的glitch,确保了门控时钟的纯净与电路功能的可靠性。

weixin_29234423的博客 468

ABAP HANA BP主数据批导

SAPhana官方推荐的创建bp主数据的类是CL_MD_BP_MAINTAIN 客户的创建具体示例代码如下: DATA: LT_RETURN_MAP TYPE MDG_BS_BP_MSGMAP_T. DATA: LS_RETURN_MAP TYPE MDG_BS_BP_MSGMAP. DATA: LS_MESSAGE_MAP TYPE MDG_BS_BP_MSGMAP_KEY. DATA: LT_DATA TYPE CVIS_EI_EXTERN_.

IamRunjiang的博客 4143

SGU134 Centroid 树形DP

简单树形DP,求树的质心:最大的子树节点数最小的节点 134. Centroid time limit per test: 0.5 sec.  memory limit per test: 4096 KB You are given an undirected connected graph, with N vertices and N-1 edges (a t

878

揭秘 | 顶刊论文插图中的高级配色方案(附RGB/HEX码解析)

本文揭秘了顶级期刊如《Nature》《Science》插图的高级配色方案,详细解析了RGB/HEX码的应用技巧。从双色配色的黄金组合到复杂数据可视化的多色解决方案,提供了实用的配色法则和跨平台一致性建议,帮助科研人员提升图表专业度和视觉传达效果。

weixin_28523493的博客 987

SGU 134 Centroid(树形DP)

居然让这道题卡半天,各种弱啊。。。。 没什么好说的了,觉得这个预处理很亮(我承认之前没想到。。。)   //SGU 134 Centroid //树形DP //by night_watcher #include #include #include #include using namespace std; #define N 16001 #define pb pu

615

电力电子课设救星:用Simulink实现Buck变换器双闭环控制(PID调参技巧)

本文是电力电子课程设计的实用指南,详细讲解如何利用Simulink仿真平台实现Buck变换器的电压电流双闭环控制。文章核心聚焦于PID参数整定的实战技巧,提供了从手动调试口诀到MATLAB脚本自动优化的完整方案,旨在帮助学生高效完成课设,深入理解闭环控制原理并生成专业报告。

weixin_29179311的博客 296

14、多级快速多极子算法(MLFMA)详解

多级快速多极子算法(MLFMA)是一种高效加速矩阵向量乘法(MVM)的数值方法,广泛应用于电磁场积分方程求解中。该算法通过构建多级树结构,将MVM分解为近场直接计算和远场分组计算两部分,利用递归聚类、聚合-平移-分解三阶段处理远场相互作用,并结合采样、模式计算与优化策略,将计算复杂度从O(N^2)降低至O(N log N)。博文详细阐述了MLFMA的核心步骤、数学推导、计算复杂度及实际应用中的优化技术,如伽辽金方案改进、对称性利用和反插值方法,为大规模电磁问题的高效求解提供了系统性指导。

t8u9v0w1x的博客 242

SGU 134 Centroid (树形dp 求树的中心)

Centroid Crawling in process... Crawling failed Time Limit:250MS     Memory Limit:4096KB     64bit IO Format:%I64d & %I64u Submit Status Description You are given an undirected

To be what you what to be! 1638

海康visionmaster-渲染结果:通过绑定流程或模块获取 渲染结果的方法

海康visionmaster-渲染结果:通过绑定流程或模块获取 渲染结果的方法

视觉人机器视觉的博客 2640

sgu 134. Centroid 树形dp

134. Centroidtime limit per test: 0.25 sec. memory limit per test: 4096 KBYou are given an undirected connected graph, with N vertices and N-1 edges (a tree). You must find the centroid(s) of the tree...

superkunn的博客 261

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

SGU 134 Centroid(树形DP)

Description 给出一棵n个节点的无向树,问删去树上哪个顶点及与这个点相连的边后,能够最小化剩余连通块中节点的最大值 Input 第一行为一整数n表示点数,之后n-1行每行两个整数表示树上一条边(1<=n<=16000) Output 输出删去一个顶点后最小的剩余剩余连通块中节点的最大值,并输出满足这个条件的节点数以及这些节点的编号 Sample Input 7 1 2 2

ZSQ 620

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【SGU】【树】【树形DP】134-Centroid

SGU 134 Centroid 题目 ◇题目传送门◆ 题目大意 给定一棵有NNN个节点的无根树,求树的所有重心及以重心为根的最大子树的节点数量。 思路 很明显的一个DP版题。 所谓重心,就是指一棵树中,若将某个节点删除,得到的所有子树的节点数量尽可能的相等,则称该节点为重心。 基于这个思想,我们设f[u]f[u]f[u]为以uuu为根的最大子树节点个数。 易得状...

IDDFS 240

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

SGU 134 Centroid [树形DP]

  水题。。记录每个节点的孩子个数就可以了。。    1 #include <string.h> 2 #include <stdio.h> 3 #include <vector> 4 #include <algorithm> 5 #define MAXN 16001 6 #define INF 0x3f3f3f3f ...

weixin_33826609的博客 125

SGU 134 Centroid 树形DP

题目大意: 给你一颗树,定义树的中心为:如果去掉某个结点,那么剩下的若干子树中,结点最多的树的结点个数就是某结点的价值,计算所有的点的价值,那么价值最小的点就是树的中心。中心可以存在好多个。要你求那个最小的价值,中心的个数,并把这些中心点的编号按照升序输出。 解题思路: 用一遍dfs就搞定了,从第一个点开始往下遍历,如果没有访问过就去访问。sum[i]指从第一个点往下遍历的方向上,以i为根的

世靖的码场 609

SGU 134.Centroid( 树形dp )

一道入门树dp, 求一棵树的重心...我是有多无聊去写这种题...傻X题写了也没啥卵用以后还是少写好..----------------------------------------------------------------#include<cstdio>#include<cstring>#include<algorithm>using namespa...

weixin_30393907的博客 110

SGU134 Centroid 树形DP基础题,求树的重心

134. Centroid time limit per test: 0.5 sec.  memory limit per test: 4096 KB You are given an undirected connected graph, with N vertices and N-1 edges (a tree). You must find the cent

便纵有千种风情 616

SGU - 134 Centroid 无根树转有根树 + 树形DP

题目大意:给出一个无向图(树),要求你删除掉其中一个点,使剩下的点构成的子树中,节点数最大的那个值达到最小解题思路:因为给出的是一个无根树,第一个想法就是先把它转成有根树,将1当成根 设sum[i]为以i为根节点的子树有多少个节点,那么sum[1] - sum[i]就相当于是排除了i的所有子节点的另一棵子树的节点总数了 设dp[i]为去掉了i节点后的剩余节点所构成的子树的节点的最大值 那么dp

静静地码 772

快速切题 sgu134.Centroid 树形dp

134. Centroid time limit per test: 0.25 sec.memory limit per test: 4096 KB You are given an undirected connected graph, withNvertices andN-1edges (a tree). You must find the centroid(s) of t...

weixin_30675967的博客 163

SGU 134 Centroid

#include #include #include #include #include using namespace std; /*这个题出题很容易,但是提交的时候需要注意很多 第一次所有的数都用int型提交了,树据只过了三组,卡在第四组上了,前三组还是比较

凌风 1109

SGU 134 Centroid

题意:给出一个树,每个点有一个value,value的意义是去掉这个点之后所有连通分量中点最多的那个连通分量的点数,这棵树的重心为所有点value的最小值,求重心,及重心都有谁。 解法:貌似是个树形dp,不过不太懂树形dp···学了一下也没太明白这题为啥是树形dp···觉得其实是深搜···嗯··· 随便找一个点当做根,我选了点1,每个点的value = max{max{sum[j]},

逗比的日常 566

SGU 134 Centroid(树的重心)

思路:找树的重心,就是删除那个节点之后使得剩下子树的节点数最大的最小的点 #include #include #include #include using namespace std; const int maxn = 16000+5; #define inf 1e9 vectore[maxn],ans; int siz[maxn]; int dp[maxn]; int n,minx,

围巾的ACM博客 563
上一篇: POJ 1942 Paths on a Grid(组合数公式)
下一篇: UVa 10330 Power Transmission(最大流 + 拆点)
小爷永远不死
博客等级 码龄15年 58粉丝 363原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值