ACdream1015 Double Kings(dfs)

ASP三级菜单源码实战:递归查询、树形输出与前端展开 在Web开发中,树形菜单是后台管理系统的常见组件,其核心在于通过parent_id邻接表实现层级数据存储,并利用递归或迭代方式构建树形结构。传统ASP项目常采用VBScript结合Access或SQL Server,通过字典分组和递归渲染输出多级导航,同时需处理HTML转义、URL安全及前端展开折叠交互。这类技术方案虽不依赖现代框架,但能有效解决老项目中的菜单动态化需求,适用于IIS环境下的后台权限导航、栏目管理等场景。本文以ASP三级菜单源码为例,详解从表设计、递归查询到前端展开的完整实现,并分享避坑经验 阅读详情

Problem Description
Our country is tree-like structure, that is to say that N cities is connected by exactly N - 1 roads.
The old king has two little sons. To make everything fairly, he dicided to divide the country into two parts and each son get one part. Two sons can choose one city as their capitals. For each city, who will be their king is all depend on whose capital is more close to them. If two capitals have the same distance to them, they will choose the elder son as their king. 
(The distance is the number of roads between two city)
The old king like his elder son more, so the elder son could choose his capital firstly. Everybody is selfish, the elder son want to own more cities after the little son choose capital while the little son also want to own the cities as much as he can.
If two sons both use optimal strategy, we wonder how many cities will choose elder son as their king.
Input
There are multiple test cases.
The first line contains an integer N (1 ≤ N ≤ 50000).
The next N - 1 lines each line contains two integers a and b indicating there is a road between city a and cityb. (1 ≤ a, b ≤ N)
Output
For each test case, output an integer indicating the number of cities who will choose elder son as their king.
Sample Input
4 
1 2
2 3
3 4

4
1 2
1 3
1 4
Sample Output
2
3


没有看出来是dfs..看题解还有贪心解法


加了邻接表的dfs 第一次遇到这样的题


#include "iostream"
#include "cstdio"
#include "cstring"
#include "algorithm"
using namespace std;
const int MAXN = 100005;
const int INF = 0x3f3f3f3f;
struct Edge
{
	/* data */
	int x, num, next;
}e[MAXN];
int n, num, head[MAXN], ans[MAXN];
void addedge(int x, int y)
{
	++num;
	e[num].x = y, e[num].num = 0;
	e[num].next = head[x];
	head[x] = num;
}
void dfs(int x, int f)
{
	for(int i = head[x]; i != -1; i = e[i].next)
		if(e[i].x != f) {
			int v = e[i].x;
			dfs(v, x);
			for(int j = head[v]; j != -1; j = e[j].next) { 
				if(e[j].x == x) continue;
				e[i].num += e[j].num;
			}
			e[i].num += 1;
			e[i ^ 1].num = n - e[i].num;
		}
}
int main(int argc, char const *argv[])
{
	int x, y, ret;
	while(scanf("%d", &n) != EOF) {
		num = -1;
		ret = INF;
		memset(ans, 0, sizeof(ans));
		memset(head, 0xff, sizeof(head));
		for(int i = 1; i < n; ++i) {
			scanf("%d%d", &x, &y);
			addedge(x, y);
			addedge(y, x);
		}
		dfs(1, 0);
		for(int i = 1; i <= n; ++i) {
			for(int j = head[i]; j != -1; j = e[j].next)
				ans[i] = max(ans[i], e[j].num);
			ret = min(ret, ans[i]);
		}
		printf("%d\n", n - ret);
	}
	return 0;
}


Android自动化新方案:ESP32-C3蓝牙HID模拟触控与手势操作实战(附源码) 本文详细介绍了使用ESP32-C3通过蓝牙HID协议实现Android设备自动化操作的完整方案。该硬件方案成本低廉且能完美规避系统风控,可模拟鼠标移动、点击及复杂手势操作,延迟低于50毫秒,适用于游戏连招和应用测试等场景。文章包含完整的源码实现和性能优化技巧。 阅读详情

相关推荐

从零开始用QP框架开发STM32:事件驱动编程实战指南(附状态机设计技巧)

本文详细介绍了如何使用QP框架在STM32上实现事件驱动编程,包括状态机设计技巧和嵌入式开发实践。通过对比传统前后台系统和RTOS,展示了QP框架在资源占用、实时性和代码可维护性方面的优势,并提供了从环境搭建到高级状态机设计的完整指南。

h6i7j8的博客 1173

ACdream - 1015 - Double Kings (DFS)

Double Kings Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Submit Statistic Next Problem Problem Description Our country is tree-like structure, that i

vloai 258

logisim实验——通过2个半加器实现1-bit全加器,通过4个一位全加器构成4-bit加法器(详解)

一、由异或门和与门所构成的半加器: 二、由两个半加器构成的1-bit全加器: ..

zep 1万+

ACdream 1015 Double Kings

Description Our country is tree-like structure, that is to say that N cities is connected by exactly N - 1 roads.  The old king has two little sons. To make everything fairly, he dicided to divide

Occult 487

双斜率积分ADC:高精度测量中的经典选择与TC530/TC534实战指南

模数转换器(ADC)是连接模拟世界与数字系统的关键桥梁,其核心任务是将连续的模拟信号转换为离散的数字量。在众多ADC类型中,双斜率积分ADC以其独特的原理脱颖而出,它通过积分与反积分的线性过程,用时间换取精度,实现了对噪声的卓越抑制和极高的线性度。这种技术价值使其在对抗工频干扰、追求长期稳定性的场景中无可替代,尤其适用于精密测量仪表和工业传感器信号采集。本文聚焦于双斜率积分ADC的经典代表TC530与TC534,深入剖析其工作原理、关键参数如积分电阻、积分电容的选择,并提供从硬件电路设计到软件驱动的完整实战

weixin_30847063的博客 359

使用 MATLAB/Simulink 构建一个 压水堆核电机组的反应堆控制与功率调节系统 仿真模型

本文通过Simulink构建压水堆核电机组的反应堆控制与功率调节模型,详细介绍了建模流程:从中子点动力学核心方程、反应性反馈模型(控制棒、多普勒和慢化剂效应)、一回路热工模型到完整的闭环控制系统。教程包含系统结构设计、参数设置、模块连接方法,以及典型负荷变化场景的仿真分析,帮助读者理解核反应堆动态特性和控制原理。同时提供了进阶建模建议,如分布参数模型和先进控制策略的应用。该模型为教学简化版,强调核能系统的机理建模与Simulink实现方法,适合核工程与控制领域的学习者参考实践。

amy_mhd的博客 186

ACdream 1015 Double Kings 树的重心

思路:删除根结点,其最大子树的节点最少。求一次树的重心即可。 AC代码 #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #pragma com

flyawayl的博客 601

SAP MM模块后续借记、后续贷记、贷方凭证简介

在SAP系统中,后续借记、后续贷记和贷方凭证是处理供应商发票、采购和付款过程中常见的财务交易。

我小时候很黑的博客 3269

Acdream 1015 Double Kings 搜索

题意:有一个国王要把他的领土分给两个儿子,国王的领土是一棵树,N个结点,N-1条边把这些结点连起来,现在大小儿子要选择一个点作为他的首都,那么除首都分别是这两个儿子之外,其他的城市(结点)根据离谁近就归谁所有,如果一样远的话就归大儿子所有,现在假设两个人都采取最优策略,且大儿子先选,问大儿子最多能够得到多少城市? 解法:如果大儿子选择了一个点P,那么这个小儿子选择的点一定在P点的某个子树(M)当...

weixin_33737774的博客 91

华为OD机试双机位B卷 - 比赛的冠亚季军 (C++ & Python & JAVA & JS & GO)

华为OD机试双机位B卷 比赛的冠亚季军,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。 华为OD机试 比赛的冠亚季军

qq_45776114的博客 703

YOLOv8-COCO指标转换

本文介绍了将YOLO格式数据集转换为COCO格式并评估模型性能的完整流程。首先需将YOLO格式的标注数据转换为COCO格式,通过修改classes、image_path等参数适配不同数据集。然后使用YOLO模型对验证集进行预测并保存结果为JSON格式。最后通过比较预测结果和转换后的COCO标注文件,使用COCO官方评估指标和TIDE工具进行性能分析,生成包含AP、AR等指标的报告及错误分析图表。整个过程实现了从数据准备到模型评估的完整闭环,为计算机视觉任务提供标准化的性能评估方案。

FJN110的博客 402

ACdream 1015 Double Kings【贪心*2】

Our country is tree-like structure, that is to say that N cities is connected by exactly N - 1 roads. The old king has two little sons. To make everything fairly, he dicided to divide the country int

Irish_Moonshine的博客 233

102、栅极驱动芯片选型与设计

文章摘要 本文分享了栅极驱动芯片选型与设计的实战经验。通过一次因驱动芯片选型不当导致的炸管事故,作者总结了栅极驱动芯片选型的五个关键参数:峰值驱动电流、驱动电压范围、传播延迟匹配、欠压锁定和隔离等级。文章详细分析了自举电路设计中的常见陷阱,以及栅极电阻对开关特性的影响,并强调了PCB布局布线的重要性。最后,作者提供了七条实用建议,包括避免通用型驱动芯片、关注CMTI参数、使用插件电阻等。核心观点是:栅极驱动设计需要综合考虑参数匹配、电路布局和实际调试,示波器实测波形是验证设计的唯一标准。

2401_88858637的博客 44

ACdream 1015 A - Double Kings

A - Double Kings Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) Submit Status Problem Description Our country is tree-like structure, that is to say th

yjt9299的博客 280

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

ACdream 1015 Double Kings

http://acdream.info/contest?cid=1477#problem-A找树的重心Problem DescriptionOur country is tree-like structure, that is to say that N cities is connected by exactly N - 1 roads.The old king has two little s...

海绵的博客 282

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

acdream 1015 Double Kings 树形结构 贪心

题意:一个树状图一般的国家,有两个王子要设立自己的首都,首都周围的城市选择里他们近的那个首都效忠(即那个王子得到了那些城市,当距离一样使,选大王子效忠),大王子先选择首都。问在两者的最优策略下,大王子最多能够得到几个城市。 做法:枚举大王子会选择的城市。这种情况下,树被分成了很多子树,小王子必须离大王子足够近才可获得最多的城市。 以后这种二元的贪心,就枚举第一个,然后再贪心第二个。。  记得记

uiiの技术随笔 579

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

acdream 1015 Double Kings(树的重心)

Double Kings Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) Submit Status Problem Description Our country is tree-like structure, that is to say that N

du_lun的博客 369

ACdream 1015 - Double Kings (记忆化搜索)

Double Kings Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Submit Statistic Next Problem Problem Description Our country is tree-like structure, that i

Mr_Treeeee的博客 355

数据结构实验3(图的DFS和BFS实现)

实现邻接矩阵和邻接表两种不同存储结构上实现图的基本运算, 在MGraph类中扩充增加DFS()和BFS()函数. 包含的运算: 插入一条边, 删除一条边, 查询边是否存在, 图的深度优先搜索和广度优先搜索. 广度优先搜索利用队列作为辅助的数据结构, 元素类型是树的结点.  实现代码: #include "iostream" #include "cstdio" #include "cstri

GKHack's Blog 3575

Codeforces Round #321 (Div. 2) 580C Kefa and Park(dfs)

题目链接: 第一行给你n、m,接下来的一行有n个数,如果为1则代表这个点有cat,接下来的n-1行每行给出x、y,表示x、y相连。问你从1出发 能到达的叶子结点有几个,要求到达叶子结点的路上连续有cat的点不超过m。 a数组保存结点是否含有cat,从1这个点开始dfs,每次dfs对cat数组操作,记录连续的含有cat的点数,回溯时再判断当前结点是否满足 条件,要求结点为叶子

GKHack's Blog 2041

Openjudge 6048泰国佛塔(dfs)

描述 泰囧,大家应该都看过。不知道大家有没有注意到宝宝虔诚祈福的寺庙里的金灿灿的佛塔。       众所周知,泰国佛塔外面是贴金的,而且金箔过一段时间需要修补。泰国经济自上世纪末就不景气,贴金的开支对于寺庙来说也是个比较大的负担。           这里请同学来帮助寺庙设计下佛塔的模型,以使佛塔的外表面(最下层的下底面除外)的面积最小。从而节省金箔开支。       这里抽象佛塔形状为,

GKHack's Blog 1914

Codeforces Round #313 (Div. 2) 560D Equivalent Strings(dos)

D. Equivalent Strings time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Today on a lecture about strings Gera

GKHack's Blog 1617

Manthan, Codefest 16 633C Spy Syndrome 2(dfs + stl)

C. Spy Syndrome 2 time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output After observing the results of Spy Syndro

GKHack's Blog 1574

FZU1920 Left Mouse Button(dfs)

Problem 1920 Left Mouse Button Accept: 385    Submit: 719 Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description Mine sweeper is a very popular small game in Windows operating

GKHack's Blog 1392
上一篇: POJ2502 Subway(Floyd)
下一篇: BestCoder Round #49 ($) HDOJ5339 Untitled(dfs)
GKHack
博客等级 码龄11年 48粉丝 291原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值