2023河南萌新联赛第(六)场:河南理工大学 C - 旅游
2023河南萌新联赛第(六)场:河南理工大学 C - 旅游
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
Special Judge, 64bit IO Format: %lld
题目描述
小C喜欢旅游,现在他要去DSH旅游,DSH里有nnn个城市和 n − 1 n-1 n−1 条双向道路(每条道路长度为1),每条道路连接两个城市,并且任意两个城市都可以通过这些的道路互相到达。现在小C要使用魔法指定传送到DSH里的一个城市,作为他旅游的出发城市,小C旅游遵从以下原则:
- 当小C抵达一个城市的时候,他会去跟当前这个城市相连的城市;
- 他只去他以前没有去过的城市;
- 在每个城市,小C以相同的概率移动去上述符合要求的城市;
- 当没有这样的城市(可走)时,小C就停下了。
由于小C太喜欢DSH了,所以请你告诉小C,在他可以指定传送出发城市的情况下,他的旅游路径的期望最大值是多少。
输入描述:
第1行一个整数 n ( 1 ≤ n ≤ 100000 ) n(1\leq n \leq 100000) n(1≤n≤100000),表示DSH有 n n n个城市;
接下来 n − 1 n-1 n−1行,每行包含两个整数 a a a和 b ( 1 ≤ a , b ≤ n ) b (1 \leq a, b \leq n) b(1≤a,b≤n),表示城市 a a a和城市 b b b之间有一条双向道路。
输出描述:
输出一个数,表示这次旅游期望可以达到的最大值,保留三位小数。
示例1
输入
4
1 2
1 3
2 4
输出
3.000
说明
如上图:
如果初始传送至城市3,那么他的旅游路径是 ( 3 , 1 , 2 , 4 ) (3,1,2,4) (3,1,2,4),总距离为3,期望为3;
如果初始传送至城市1,那么他的旅游路径可以是 ( 1 , 2 , 4 ) (1,2,4) (1,2,4),总距离为2,也可以是 ( 1 , 3 ) (1,3) (1,3),总距离为1,所以期望是1.5;
如果初始传送至城市2,那么他的旅游路径可以是 ( 2 , 4 ) (2,4) (2,4),总距离是1,也可以是 ( 2 , 1 , 3 ) (2,1,3) (2,1,3),总距离是2,所以期望是1.5;
如果初始传送至城市4,那么他的旅游路径是 ( 4 , 2 , 1 , 3 ) (4,2,1,3) (4,2,1,3),总距离为3,期望为3。
所以最大期望是3。
示例2
输入
7
1 4
1 2
4 5
4 3
2 7
2 6
输出
3.000

import java.io.*;
import java.util.ArrayList;public class Main {static int N = 100010;static ArrayList<Integer>[] adj = new ArrayList[N];static double[] downsum = new double[N];static double[] downavg = new double[N];static double[] upsum = new double[N];static double[] upavg = new double[N];public static void dfs1(int u, int fa) {for (int v : adj[u]) {if (v == fa) continue;dfs1(v, u);downsum[u] += downavg[v];}if (adj[u].size() == 1) downavg[u] = 0;else downavg[u] = downsum[u] / (adj[u].size() - (fa != 0 ? 1 : 0)) + 1;}public static void dfs2(int u, int fa) {for (int v : adj[u]) {if (v == fa) continue;upsum[v] = upavg[u] + downsum[u] - downavg[v];upavg[v] = upsum[v] / (adj[u].size() - 1) + 1;dfs2(v, u);}}public static void main(String[] args) throws IOException {BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));int n = Integer.parseInt(bf.readLine());if (n == 1) {bw.write("0.000\n");} else if (n == 2) {bw.write("1.000\n");} else {for (int i = 1; i <= 100000; i++) adj[i] = new ArrayList<>();for (int i = 1; i <= n - 1; i++) {String[] str = bf.readLine().split(" ");int u = Integer.parseInt(str[0]);int v = Integer.parseInt(str[1]);adj[u].add(v);adj[v].add(u);}int root = 1;while (adj[root].size() == 1) root++;dfs1(root, 0);dfs2(root, 0);double res = 0;for (int i = 1; i <= n; i++) {res = Math.max(res, 1 + (upavg[i] + downsum[i]) / adj[i].size());}bw.write(String.format("%.3f\n", res));}bw.close();}
}
相关文章:
2023河南萌新联赛第(六)场:河南理工大学 C - 旅游
2023河南萌新联赛第(六)场:河南理工大学 C - 旅游 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语言524288K Special Judge, 64bit IO Format: %lld 题目描述 小C喜欢旅游…...
Java | IDEA中Netty运行多个client的方法
想要运行多个client但出现这种提示: 解决方法 1、打开IDEA,右上角找到下图,并点击 2、勾选...
【蓝桥杯】 [蓝桥杯 2015 省 A] 饮料换购
原题链接:https://www.luogu.com.cn/problem/P8627 1. 题目描述 2. 思路分析 小伙伴们如果没有思路可以看看这篇文章~(这里很详细讲解了三种方法!) https://blog.csdn.net/m0_62531913/article/details/132385341?spm1001.2014…...
操作系统-笔记-第三章-内存管理
🌸章节汇总 一、第一章——操作系统的概念 二、第二章——【进程】 二、第二章——【线程】编辑 二、第二章——【进程调度】 二、第二章——【进程同步与互斥】 二、第二章——【锁】 三、第三章——内存管理 四、第四章——文件管理 五、第五章——输入输出管理…...
详解单体架构和微服务(概念,优缺点和区别)
单体架构和微服务 单体架构和微服务架构区别?为什么要用微服务架构? 单体架构的整个系统是一个War包,即war包走天下。微服务架构的项目是很多个war包(一个子系统一个)。 单体架构的优点: 架构简单开发测试部署简单…...
储能运行约束的Matlab建模方法
最近一段时间有很多人问我最优潮流计算中储能系统的建模方法。部分朋友的问题我回复了,有些没有回消息的,我就不再一一回复了,在这里我写一篇博客统一介绍一下。 1.储能系统介绍 首先,让【GPT】简单介绍一下储能系统:…...
微信小程序 车牌号输入组件
概述 一个小组件,用于方便用户输入车牌号码 详细 概述 有时候我们开发过程中会遇到需要用户输入车牌号的情况,让客户通过自带键盘输入,体验不好且容易出错,例如车牌号是不能输入O和I的,因此需要有一个自定义的键盘…...
Bootstrap Blazor 实战动态表单组件
1.新建工程 源码 新建工程b18ValidateForm,使用 nuget.org 进行 BootstrapBlazor 组件安装, Chart 库,字体. 将项目添加到解决方案中 dotnet new blazorserver -o b18ValidateForm dotnet add b06chart package BootstrapBlazor dotnet add b06chart package BootstrapBlazo…...
Elasticsearch 集成---Spark Streaming 框架集成
一.Spark Streaming 框架介绍 Spark Streaming 是 Spark core API 的扩展,支持实时数据流的处理,并且具有可扩展, 高吞吐量,容错的特点。 数据可以从许多来源获取,如 Kafka , Flume , Kin…...
Kotlin 中的 协程 基础篇
一、什么叫协程 协程可以称为轻量级线程,线程代码块; 二、GlobalScope 协程 CoroutineScope (协程作用域) 的上下文中通过 launch、async 等构造器来启动。GlobalScope ,即全局作用域内启动了一个新的协程,这意味这该协程的生命周期只受整…...
SQL事务
事务的概念: 事务是在数据库上按照一定的逻辑顺序执行的任务序列,既可以由用户手动执行,也可以由某种数据库程序自动执行。事务就是一些SQL语句组(每条单独的SQL语句也算一个事务),其中事务中的SQL…...
关于flutter中 initState() 与 setState() 用法
initState()函数是在组件渲染之前执行的。在Flutter中,initState()是StatefulWidget的生命周期方法之一,在调用build()方法之前被调用。当创建一个StatefulWidget并将其添加到组件树中时,Flutter会实例化该组件的状态对象,并在调用…...
智能电话机器人是如何自主学习的
电话机器人主要通过语音识别和针对语意的理解识别客户所说的内容,针对性的回答问题,为企业高效筛选意向客户。除了电话机器人语音识别之外,电话机器人能够自主学习,不断完善产品知识及话术等,是它智能的另一种体现。那…...
【Rust】Rust学习 第十八章模式用来匹配值的结构
模式是 Rust 中特殊的语法,它用来匹配类型中的结构,无论类型是简单还是复杂。结合使用模式和 match 表达式以及其他结构可以提供更多对程序控制流的支配权。模式由如下一些内容组合而成: 字面值解构的数组、枚举、结构体或者元组变量通配符占…...
我的学习笔记:数据处理
数据清洗 对数据进行处理和加工,以使其适合分析和建模。数据清洗包括去除重复数据、填补缺失值、处理异常值和转换数据格式等操作,以提高数据的可靠性和准确性,避免数据分析时出现偏差,提高决策的准确性。 数据去重:通…...
GB28181国标平台测试软件NTV-GBC(包含服务器和模拟客户端)
GB28181国标平台测试软件NTV-GBC用于对GB28181国标平台进行测试(测试用例需要服务器软件,服务器软件可以是任何标准的国标平台,我们测试使用的是NTV-GBS),软件实现了设备注册、注销、目录查询,消息订阅、INVITE&#x…...
云原生:重塑企业的技术疆界
云原生技术正在重新塑造我们对软件开发、部署和运维的理解。这些技术带来了灵活性、可扩展性以及在复杂环境中保证稳定性的可能性,这些都是企业在云原生场景中比较关注的问题。本文将主要聚焦于云原生场景,探讨其影响和作用。 云原生的定义 云原生计算基…...
华为星闪,一项将 “ 更稳 WiFi ” 和 “ 更好蓝牙 ” 融合起来的通信标准
兼顾多用途和专业化的 AI 大模型、移除安卓代码的 HarmonyOS NEXT 、给折叠屏应用提供适配方向的《 折叠屏/平板应用体验评估标准 》。。。 不过除了这些比较贴近我们普通用户,容易讲清楚的东西,华为还官宣了一个大家可能没注意的黑科技: 星…...
IDEA创建Mybatis格式XML文件
设置位置:File | Settings | Editor | File and Code Templates 选择Files,点击号 Name中输入xml模板名(名称自行决定),后缀名extension输入xml(固定) 内容处输入Mybatis的xml文件模板内容&…...
二叉树中的最大路径和-递归
路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root…...
2026 年 OpenClaw 生态选型指南:从「红色龙虾」到国产「小龙虾」
2026 年初,一只名为 OpenClaw 的「红色龙虾」长期占据 GitHub 热度前列,星标在公开页面上已达到 三十万量级(具体数字每日波动)。业界常把它描述为 AI 从「只会聊」走向「能替你办事」的一块试金石:不是多一个聊天窗口…...
供应链需求预测系统:Granite TimeSeries FlowState R1助力库存优化
供应链需求预测系统:Granite TimeSeries FlowState R1助力库存优化 每次大促过后,仓库里总是一片狼藉。畅销品早早断货,客服电话被打爆;而另一堆商品却纹丝不动,占满了宝贵的库位,资金就这么被“冻”在了货…...
Python自动化办公:3种绕过VBA宏直接操作Word目录的实战方法(附完整代码)
Python自动化办公:3种绕过VBA宏直接操作Word目录的实战方法 在数字化转型浪潮中,企业文档处理正面临前所未有的效率挑战。当我们需要批量更新数百份Word文档的目录时,传统VBA宏方案常因安全警告、格式限制和跨平台兼容性问题而举步维艰。本文…...
4步精通Logisim-evolution:面向数字工程师的开源电路设计工具指南
4步精通Logisim-evolution:面向数字工程师的开源电路设计工具指南 【免费下载链接】logisim-evolution Digital logic design tool and simulator 项目地址: https://gitcode.com/gh_mirrors/lo/logisim-evolution Logisim-evolution作为一款开源的数字逻辑设…...
无刷电机S型与梯形加减速曲线实战:从算法到代码的平滑运动实现
1. 无刷电机加减速控制的核心价值 第一次调试无刷电机时,我盯着那个疯狂抖动的机械臂陷入了沉思——原来不加控制的电机就像脱缰的野马,根本没法用在精密设备上。后来才明白,加减速曲线就是驯服这匹野马的缰绳。无论是工厂里的机械臂&#x…...
Kazumi:自定义规则驱动的动漫资源聚合与播放方案
Kazumi:自定义规则驱动的动漫资源聚合与播放方案 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP,支持流媒体在线观看,支持弹幕。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi Kazumi作为一款基于自定义规则的开源番剧…...
DLSS Swapper:游戏性能优化的版本管理解决方案
DLSS Swapper:游戏性能优化的版本管理解决方案 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 在3A游戏日益复杂的图形渲染需求下,玩家常常面临画质与帧率的平衡难题。NVIDIA的DLSS技术通过AI超…...
SlopeCraft:Minecraft地图艺术创作的高效解决方案
SlopeCraft:Minecraft地图艺术创作的高效解决方案 【免费下载链接】SlopeCraft Map Pixel Art Generator for Minecraft 项目地址: https://gitcode.com/gh_mirrors/sl/SlopeCraft 在Minecraft的方块世界中,将现实中的图像转化为立体地图艺术一直…...
重新定义Windows桌面体验:Seelen UI如何让你告别千篇一律的界面
重新定义Windows桌面体验:Seelen UI如何让你告别千篇一律的界面 【免费下载链接】Seelen-UI The Fully Customizable Desktop Environment for Windows 10/11. 项目地址: https://gitcode.com/GitHub_Trending/se/Seelen-UI 厌倦了Windows千篇一律的桌面环境…...
AlwaysOnTop窗口置顶工具:3大突破性功能重塑你的多任务工作流
AlwaysOnTop窗口置顶工具:3大突破性功能重塑你的多任务工作流 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 在当今数字化工作环境中,我们每天平均需要切…...

