[NOIP2017 提高组] 宝藏

[NOIP2017 提高组] 宝藏

题目背景

NOIP2017 D2T2

题目描述

参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 n n n 个深埋在地下的宝藏屋, 也给出了这 n n n 个宝藏屋之间可供开发的 m m m 条道路和它们的长度。

小明决心亲自前往挖掘所有宝藏屋中的宝藏。但是,每个宝藏屋距离地面都很远,也就是说,从地面打通一条到某个宝藏屋的道路是很困难的,而开发宝藏屋之间的道路则相对容易很多。

小明的决心感动了考古挖掘的赞助商,赞助商决定免费赞助他打通一条从地面到某个宝藏屋的通道,通往哪个宝藏屋则由小明来决定。

在此基础上,小明还需要考虑如何开凿宝藏屋之间的道路。已经开凿出的道路可以 任意通行不消耗代价。每开凿出一条新道路,小明就会与考古队一起挖掘出由该条道路所能到达的宝藏屋的宝藏。另外,小明不想开发无用道路,即两个已经被挖掘过的宝藏屋之间的道路无需再开发。

新开发一条道路的代价是 L × K \mathrm{L} \times \mathrm{K} L×K。其中 L L L 代表这条道路的长度, K K K 代表从赞助商帮你打通的宝藏屋到这条道路起点的宝藏屋所经过的宝藏屋的数量(包括赞助商帮你打通的宝藏屋和这条道路起点的宝藏屋) 。

请你编写程序为小明选定由赞助商打通的宝藏屋和之后开凿的道路,使得工程总代价最小,并输出这个最小值。

输入格式

第一行两个用空格分离的正整数 n , m n,m n,m,代表宝藏屋的个数和道路数。

接下来 m m m 行,每行三个用空格分离的正整数,分别是由一条道路连接的两个宝藏屋的编号(编号为 1 − n 1-n 1n),和这条道路的长度 v v v

输出格式

一个正整数,表示最小的总代价。

样例 #1

样例输入 #1

4 5 
1 2 1 
1 3 3 
1 4 1 
2 3 4 
3 4 1

样例输出 #1

4

样例 #2

样例输入 #2

4 5 
1 2 1 
1 3 3 
1 4 1 
2 3 4 
3 4 2

样例输出 #2

5

提示

【样例解释 1 1 1

小明选定让赞助商打通了 1 1 1 号宝藏屋。小明开发了道路 1 → 2 1 \to 2 12,挖掘了 2 2 2 号宝藏。开发了道路 1 → 4 1 \to 4 14,挖掘了 4 4 4 号宝藏。还开发了道路 4 → 3 4 \to 3 43,挖掘了 3 3 3 号宝藏。

工程总代价为 $1 \times 1 + 1 \times 1 + 1 \times 2 = 4 $。

【样例解释 2 2 2

小明选定让赞助商打通了 1 1 1 号宝藏屋。小明开发了道路 1 → 2 1 \to 2 12,挖掘了 2 2 2 号宝藏。开发了道路 1 → 3 1 \to 3 13,挖掘了 3 3 3 号宝藏。还开发了道路 1 → 4 1 \to 4 14,挖掘了 4 4 4 号宝藏。

工程总代价为 1 × 1 + 3 × 1 + 1 × 1 = 5 1 \times 1 + 3 \times 1 + 1 \times 1 = 5 1×1+3×1+1×1=5

【数据规模与约定】

对于 $ 20%$ 的数据: 保证输入是一棵树, 1 ≤ n ≤ 8 1 \le n \le 8 1n8 v ≤ 5 × 1 0 3 v \le 5\times 10^3 v5×103 且所有的 v v v 都相等。

对于 40 % 40\% 40% 的数据: 1 ≤ n ≤ 8 1 \le n \le 8 1n8 0 ≤ m ≤ 1 0 3 0 \le m \le 10^3 0m103 v ≤ 5 × 1 0 3 v \le 5\times 10^3 v5×103 且所有的 v v v 都相等。

对于 $ 70%$ 的数据: 1 ≤ n ≤ 8 1 \le n \le 8 1n8 0 ≤ m ≤ 1 0 3 0 \le m \le 10^3 0m103 v ≤ 5 × 1 0 3 v \le 5\times 10^3 v5×103

对于 $ 100%$ 的数据: 1 ≤ n ≤ 12 1 \le n \le 12 1n12 0 ≤ m ≤ 1 0 3 0 \le m \le 10^3 0m103 v ≤ 5 × 1 0 5 v \le 5\times 10^5 v5×105


upd 2022.7.27 \text{upd 2022.7.27} upd 2022.7.27:新增加 50 50 50 组 Hack 数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/375513.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CTF-show WEB入门--web18

今天顺便也把web18解决了 老样子我们先打开题目查看题目提示: 我们可以看到题目提示为: 不要着急,休息,休息一会儿,玩101分给你flag 然后我们打开题目链接,可以看到: 即一进题目小鸟就死,然后…

FLIP解读

title: FLIP解读 mathjax: true toc: true date: 2024-02-06 17:22:20 categories: Machine Learning tags:CLIPMasked AutoencodersContrastive Learning FLIP由CLIP改进而来,其思想非常简单,通过在图片侧mask掉相当比例的patch(无须重构pa…

【k8s系列】(202402) 证书apiserver_client_certificate_expiration_seconds

apiserver_client_certificate_expiration_second证书定义的位置:kubernetes/staging/src/k8s.io/apiserver/pkg/authentication/request/x509/x509.go at 244fbf94fd736e94071a77a8b7c91d81163249d4 kubernetes/kubernetes (github.com) apiserver_client_certi…

Mac上新版InfluxDB使用教程

一、简介 官网:influxdb 二、influxdb安装 建议使用Homebrew在 macOS 上安装 InfluxDB v2: brew install influxdb启动influxdb服务:brew services start influxdb 停止influxdb服务:brew services stop influxdb 查看是否启…

Compose | UI组件(十四) | Navigation-Data - 页面导航传递数据

文章目录 前言传参流程实例说明普通方式传值定义接受参数格式定义接受参数类型获取参数传入参数传参和接受参数效果图 结合 ViewModel 传递参数定义ViewModel在 navigation 定义 ViewModel 实例,并且传入 LoginScreen传入输入框中的值,并且跳转传值获取值…

Arthas使用教程—— 阿里开源线上监控诊断产品

文章目录 1 简介2背景3 图形界面工具 arthas 阿里开源3.1 :启动 arthas3.2 help :查看arthas所有命令3.3 查看 dashboard3.4 thread 列出当前进程所有线程占用CPU和内存情况3.5 jvm 查看该进程的各项参数 (类比 jinfo)3.6 通过 jad 来反编译 …

React+Antd实现省、市区级联下拉多选组件(支持只选省不选市)

1、效果 是你要的效果,咱们继续往下看,搜索面板实现省市区下拉,原本有antd的Cascader组件,但是级联组件必须选到子节点,不能只选省,满足不了页面的需求 2、环境准备 1、react18 2、antd 4 3、功能实现 …

Win32 SDK Gui编程系列之--ListView自绘OwnerDraw(续)

通过所有者绘制的列表视图(2) 所有者绘制列表视图的基础已在前一页中说明。本页将展示如何在所有者绘制列表视图中显示数据库表数据。 1、访问日志 正如在另一个页面中所述,本网站的访问日志目前是通过SQLite3数据库管理的。 以下是上述程序执行的结果。为…

OpenCV-30 腐蚀操作

一、引入 腐蚀操作也是用卷积核扫描图像,只不过腐蚀操作的卷积核一般都是1(卷积核内的每个数字都为1),如果卷积核内所有像素点都是白色,那么锚点(中心点)即为白色。 大部分时候腐蚀操作使用的都…

基于ESP-WROOM-32的双串口通信并显示到OLED显示屏上

目录 开发板引脚图 Arduino环境配置1.ESP32开发版下载2.Arduino开发板选择 -> ESP32 Dev Module3.安装驱动库 接线图Arduino代码现象演示 开发板 ESP-WROOM-32 引脚图 Arduino环境配置 1.ESP32开发版下载 选择 esp32 by Espressif Systems 2.Arduino开发板选择 -> E…

搜索引擎DuckDuckGo代理指南

DuckDuckGo作為一款搜索引擎,同時擁有自己的流覽器,高度保護用戶隱私,使其有別於其他收集和利用用戶數據進行定向廣告的搜索引擎。然而,單獨使用DuckDuckGo並不能保證線上完全匿名。如果你想進一步保護隱私,那就需要使…

寒假作业5

TCP 1:提供面向连接的,可靠的数据传输服务 2:传输过程中,数据无误、数据无丢失、数据无失序、数据无重复 3:数据传输效率低,耗费资源多 4:数据收发是不同步的 5:TCP的使用场景&#…

【计算机网络】【练习题及解答】【新加坡南洋理工大学】【Computer Control Network】【Exercise Solution】

说明: 个人资料,仅供学习使用,版权归校方所有。 一、题目描述 该问题接上期博文【练习题及解答】,描述网络通信中的链路效率(Link Efficiency),即Link Utilization的计算。(此处认…

go modules使用

创建项目 在使用GoLand创建项目的时候,会自动创建对应的go.mod文件。 创建完后 创建文件 创建一个main.go的文件,里面print一个hello world。 在运行时可以设置是否采取先生成文件再运行。 为空的话则不输出。 下面的Environment为设置运行的环境…

IDEA生成可执行jar包

1. 进入需要打包的项目,选择 最上方菜单栏的 File → Project Structure 2. 选择 左侧菜单栏 Artifacts → 加号 → JAR → from modules with dependencies 3. 选择入口类 Main Class(点击文件夹图标可以快速选择),点击 OK&#…

万物皆可问 — 私有部署网易有道QAnything

什么是 QAnything? QAnything(Question and Answer based on Anything)是一个本地知识库问答系统,旨在支持多种文件格式和数据库,允许离线安装和使用。使用QAnything,您可以简单地删除本地存储的任何格式的…

人工智能|深度学习——使用多层级注意力机制和keras实现问题分类

代码下载 使用多层级注意力机制和keras实现问题分类资源-CSDN文库 1 准备工作 1.1 什么是词向量? ”词向量”(词嵌入)是将一类将词的语义映射到向量空间中去的自然语言处理技术。即将一个词用特定的向量来表示,向量之间的距离(例…

Web 站点的欢迎页面

Web 站点的欢迎页面 一、JavaWeb 中的欢迎页1.Tomcat 的默认欢迎页2.局部配置欢迎页 二、SpringBoot 中的欢迎页1.默认欢迎页2.自定义欢迎页(1) 通过页面跳转控制器方式(2) controller 直接实现方式 一、JavaWeb 中的欢迎页 1.Tomcat 的默认欢迎页 当文件名设置为 index.html…

【学习笔记】TypeScript学习笔记1 --TypeScript中的类型

文章目录 TS总的变量类型References TS总的变量类型 备注: 如果一个变量设置为了any 类型之后相当于变量关闭了TS的类型检测 let d: any; d 10; d hello;//unknown表示的是未知类型,实际是上一个安全的any,unknown类型的变量不能直接赋值给其他变量le…

Avalonia学习(二十三)-大屏

弄一个大屏显示的界面例子,但是代码有点多,还有用户控件。 目前还有一点问题在解决,先看一下界面效果。