CCF202012-4 食材运输(100分题解链接)

2024-04-08 16:32

本文主要是介绍CCF202012-4 食材运输(100分题解链接),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

试题编号: 202012-4
试题名称: 食材运输
时间限制: 1.0s
内存限制: 512.0MB
问题描述:

题目背景

在T市有很多个酒店,这些酒店对于不同种类的食材有不同的需求情况,莱莱公司负责每天给这些酒店运输食材。

由于酒店众多,如何规划运输路线成为了一个非常重要的问题。你作为莱莱公司的顾问,请帮他们解决这个棘手的问题。

题目描述

T市有N个酒店,这些酒店由N-1条双向道路连接,所有酒店和道路构成一颗树。不同的道路可能有不同的长度,运输车通过该道路所需要的时间受道路的长度影响。

在T市,一共有K种主流食材。莱莱公司有K辆车,每辆车负责一种食材的配送,不存在多辆车配送相同的食材。

由于不同酒店的特点不同,因此不同酒店对食材的需求情况也不同,比如可能1号酒店只需要第1,5种食材,2号酒店需要全部的K种食材。

莱莱公司每天给这些公司运输食材。对于运输第i种食材的车辆,这辆车可以从任意酒店出发,然后将食材运输到所有需要第i种食材的酒店。假设运输过程中食材的装卸不花时间,运输车足够大使得其能够在出发时就装满全部所需食材,并且食材的重量不影响运输车的速度。

为了提高配送效率,这K辆车可以从不同的酒店出发。但是由于T市对于食品安全特别重视,因此每辆车在配送之前需要进行食品安全检查。鉴于进行食品安全检查的人手不足,最多可以设置M个检查点。

现在莱莱公司需要你制定一个运输方案:选定不超过M个酒店设立食品安全检查点,确定每辆运输车从哪个检查点出发,规划每辆运输车的路线。

假设所有的食材运输车在进行了食品安全检查之后同时出发,请制定一个运输方案,使得所有酒店的等待时间的最大值最小。酒店的等待时间从运输车辆出发时开始计算,到该酒店所有需要的食材都运输完毕截至。如果一个酒店不需要任何食材,那么它的等待时间为0。

输入格式

从标准输入读入数据。

输入的第一行包含3个正整数N,M,K(1≤N≤102,1≤M≤K≤10),含义见题目描述。

接下来N行,每行包含K个整数。每行输入描述对应酒店对每种食材的需求情况,1表示需要对应的食材,0表示不需要。

接下来N-1行,每行包含3个整数u,v,w,表示存在一条通行时间为w的双向道路连接u号酒店和v号酒店。保证输入数据是一颗树,酒店从1编号到N,保证1≤M≤K并且1≤w≤106

输出格式

输出到标准输出。

输出一个整数,表示在你的方案中,所有酒店的等待时间的最大值。

样例1输入

6 1 2
1 0
0 0
1 0
0 1
0 1
0 1
1 2 7
2 3 2
2 4 4
4 5 5
4 6 3

样例1输出

15

样例1解释
在这里插入图片描述

样例1的输入数据如上图。由于限制了最多只能设置1个检查点,因此可以设置两辆运输车的路径如下:
在这里插入图片描述

在2号酒店设置检查点,最晚拿到所有食材的酒店为3号酒店,等待时间为9。

样例2输入

6 2 2
1 0
0 0
1 0
0 1
0 1
0 1
1 2 7
2 3 2
2 4 4
4 5 5
4 6 3

样例2输出

9

样例2解释

样例2的输入数据和样例1几乎完全相同,唯一的区别在于样例2中允许最多设置2个检查点。我们可以设置两辆运输车的路径如下:
在这里插入图片描述

在1号酒店和6号酒店设置检查点,最晚拿到所有食材的酒店为5号酒店,等待时间为15。

子任务

本题目数据规模如下:
在这里插入图片描述
问题链接:CCF202012-4 食材运输
问题简述:(略)
问题分析:参考链接是100分。
程序说明:(略)
参考链接
第 21 次 CCF CSP 认证 第 4 题 食材运输 题解
202012-4 食材运输
CSP202012-4 食材运输(图论+状压DP)
CSP202012-4 食材运输 树状DP+状压DP
题记:(略)

100分的C++语言程序如下:

这篇关于CCF202012-4 食材运输(100分题解链接)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/886093

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

C++ | Leetcode C++题解之第393题UTF-8编码验证

题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

C - Word Ladder题解

C - Word Ladder 题解 解题思路: 先输入两个字符串S 和t 然后在S和T中寻找有多少个字符不同的个数(也就是需要变换多少次) 开始替换时: tips: 字符串下标以0开始 我们定义两个变量a和b,用于记录当前遍历到的字符 首先是判断:如果这时a已经==b了,那么就跳过,不用管; 如果a大于b的话:那么我们就让s中的第i项替换成b,接着就直接输出S就行了。 这样

每日一练7:简写单词(含链接)

1.链接 简写单词_牛客题霸_牛客网 2.题目 3.代码1(错误经验) #include <iostream>#include <string>using namespace std;int main() {string s;string ret;int count = 0;while(cin >> s)for(auto a : s){if(count == 0){if( a <=

【秋招笔试】9.07米哈游秋招改编题-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收集 100+ 套笔试题,笔试真题 会在第一时间跟新 🍄 题面描述等均已改编,如果和你笔试题看到的题面描述

LeetCode 第414场周赛个人题解

目录 Q1. 将日期转换为二进制表示 原题链接 思路分析 AC代码 Q2. 范围内整数的最大得分 原题链接 思路分析 AC代码 Q3. 到达数组末尾的最大得分 原题链接 思路分析 AC代码 Q4. 吃掉所有兵需要的最多移动次数 原题链接 思路分析 AC代码 Q1. 将日期转换为二进制表示 原题链接 Q1. 将日期转换为二进制表示 思路分析

短链接算法原理

平时我们在上网的时候,印象最深刻的有一次是短链接的服务。例如:平时在微信上看一个网页的时候,如果我们选择在浏览器打开的时候,会看到很长的URL,我们分享的时候,会看到一个很短URL,这就是本次所说的短链接的应用之一。 长链接示例:https://mp.weixin.qq.com/s?__biz=MzAxNzMwOTQ0NA==&mid=2653355437&idx=1&sn=5901826ea63

【LeetCode热题100】前缀和

这篇博客共记录了8道前缀和算法相关的题目,分别是:【模版】前缀和、【模版】二维前缀和、寻找数组的中心下标、除自身以外数组的乘积、和为K的子数组、和可被K整除的子数组、连续数组、矩阵区域和。 #include <iostream>#include <vector>using namespace std;int main() {//1. 读取数据int n = 0, q = 0;ci

Vue2电商项目(二) Home模块的开发;(还需要补充js节流和防抖的回顾链接)

文章目录 一、Home模块拆分1. 三级联动组件TypeNav2. 其余组件 二、发送请求的准备工作1. axios的二次封装2. 统一管理接口API----跨域3. nprogress进度条 三、 vuex模块开发四、TypeNav三级联动组件开发1. 动态展示三级联动数据2. 三级联动 动态背景(1)、方式一:CSS样式(2)、方式二:JS 3. 控制二三级数据隐藏与显示--绑定styl