天梯赛 L2-3 龙龙送外卖

这篇具有很好参考价值的文章主要介绍了天梯赛 L2-3 龙龙送外卖。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

L2-3 龙龙送外卖 (25 分)
龙龙是“饱了呀”外卖软件的注册骑手,负责送帕特小区的外卖。帕特小区的构造非常特别,都是双向道路且没有构成环 —— 你可以简单地认为小区的路构成了一棵树,根结点是外卖站,树上的结点就是要送餐的地址。

每到中午 12 点,帕特小区就进入了点餐高峰。一开始,只有一两个地方点外卖,龙龙简单就送好了;但随着大数据的分析,龙龙被派了更多的单子,也就送得越来越累……

看着一大堆订单,龙龙想知道,从外卖站出发,访问所有点了外卖的地方至少一次(这样才能把外卖送到)所需的最短路程的距离到底是多少?每次新增一个点外卖的地址,他就想估算一遍整体工作量,这样他就可以搞明白新增一个地址给他带来了多少负担。

输入格式:
输入第一行是两个数 N 和 M (2≤N≤105, 1≤M≤105),分别对应树上节点的个数(包括外卖站),以及新增的送餐地址的个数。

接下来首先是一行 N 个数,第 i 个数表示第 i 个点的双亲节点的编号。节点编号从 1 到 N,外卖站的双亲编号定义为 ?1。

接下来有 M 行,每行给出一个新增的送餐地点的编号 X**i。保证送餐地点中不会有外卖站,但地点有可能会重复。

为了方便计算,我们可以假设龙龙一开始一个地址的外卖都不用送,两个相邻的地点之间的路径长度统一设为 1,且从外卖站出发可以访问到所有地点。

注意:所有送餐地址可以按任意顺序访问,且完成送餐后无需返回外卖站。

输出格式:
对于每个新增的地点,在一行内输出题目需要求的最短路程的距离。

输入样例:
7 4
-1 1 1 1 2 2 3
5
6
2
4
输出样例:
2
4
4
6

原理就是每增加一个点就往上找到走过的点,我们先距离*2, 记录还要回去,并记录当前深度,记住最大的深度减去,意思就是最长的路咱们最后走,走完不返回。

AC代码文章来源地址https://www.toymoban.com/news/detail-437614.html

#include "bits/stdc++.h"
using namespace std;
const int N = 1e5 + 10;
set<int> st;
int edge[N];
int max_length = 0;
int dis[N];
int dfs(int cur, int len){
    if(st.count(cur)){
    	// len = 新增节点到已经走过节点的距离
    	// 新增节点深度 = dis[cur] + len
        max_length = max(max_length, dis[cur] + len);
        return 2 * len;
    }
    int res = dfs(edge[cur], len + 1); // 先把点走完,更新数据
    st.insert(cur);
    dis[cur] = dis[edge[cur]] + 1;
    // cur 的深度 = edge[cur] 的深度 + 1
    return res;
}
int main(){
    
    int n, m;
    cin>>n>>m;
    
    for(int i = 1; i <= n; i++) {
        cin>>edge[i];
        if(edge[i] == -1){
            st.insert(i);
            dis[i] = 0;
        }
    }
    
    int ans = 0;
    
    for(int i = 1; i <= m; i++){
        int d;
        cin>>d;
        ans += dfs(d, 0);
        cout<<ans - max_length<<endl;
    }
    return 0;
}

到了这里,关于天梯赛 L2-3 龙龙送外卖的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 天梯赛 L2-052 吉利矩阵

    //r[n]:当前第几列的值。 //l[n]:当前第几行的值。 暴力+减止

    2024年04月25日
    浏览(44)
  • 2023 PTA天梯赛补题(L1 & L2)

    输入输出题 输入输出题 k == n 和 k == m 分别输出,题目怎么说就怎么做 判断一下c 等于a + b还是a*b或者都不是,分别按要求输出 针对每一群玩游戏的宝宝,枚举判断一下就好了 写的有点烦,基本就是一步一步模拟,思路在注释里写了 枚举分配方案,代码中a代表女生寝室的数

    2024年02月03日
    浏览(41)
  • 【团体程序设计天梯赛】L2-052 吉利矩阵

    思路: 直接回溯枚举每一个位置填的数,二维肯定是不方便的,我们转成一维,下标x从0到n*n-1。二维数组下标从0到n-1,在一维中下标为x的点在二维中对应行是x/n,列是x%n。 每个数最小能填的是0,最大肯定就是l了,时间复杂度的上限是n的2l次幂,4的18大概是1e11这样。 我们

    2024年04月27日
    浏览(45)
  • 团体程序设计天梯赛-练习集L2篇⑦

    🚀欢迎来到本文🚀 🍉个人简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的普通人。 🏀个人主页:@陈童学哦`CSDN 💡所属专栏:PTA 🎁希望各位→点赞👍 + 收藏⭐️ + 留言📝 ​ ⛱️刷题的当下应是享受的!望与诸君共勉!🏄‍♂️ 下面是PTA的OJ平台 PTA的

    2024年02月11日
    浏览(90)
  • 团体程序设计天梯赛 L2-013 红色警报(连通分量)

    分数 25 战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出

    2024年03月13日
    浏览(52)
  • 【2023团体程序设计天梯赛CCCC】GPLT2023,L1~L2部分(PTA,L1-089~L1-096,L2-045~L2-048)题解代码&复盘

    概要 L1部分:L1-089~L1-096 L2部分:L2-045~L2-048 L3部分:L3-033~L3-036 L1-089 最好的文档 5 L1-090 什么是机器学习 5 L1-091 程序员买包子 10 L1-092 进化论 10 L1-093 猜帽子游戏 15 L1-094 剪切粘贴 15 L1-095 分寝室 20 L1-096 谁管谁叫爹 20 L2-045 堆宝塔 25 L2-046 天梯赛的赛场安排 L2-047 锦标赛 25 L2-048

    2024年02月01日
    浏览(47)
  • 2023团队天梯模拟赛 L2-3 智能护理中心统计 and L3-1 塔防游戏(23分)

    L2-3 智能护理中心统计 智能护理中心系统将辖下的护理点分属若干个大区,例如华东区、华北区等;每个大区又分若干个省来进行管理;省又分市,等等。我们将所有这些有管理或护理功能的单位称为“管理结点”。现在已知每位老人由唯一的一个管理结点负责,每个管理结

    2023年04月19日
    浏览(51)
  • 文心一言App怎么用不了了呀?

    大家好,小发猫降ai今天来聊聊文心一言App怎么用不了了呀?,希望能给大家提供一点参考。降ai辅写 以下是针对论文AI辅写率高的情况,提供一些修改建议和技巧,可以借助此类工具: 还有: 文心一言App怎么用不了了呀? 随着科技的发展,手机应用程序已经成为我们日常生

    2024年04月22日
    浏览(40)
  • 这个字段我明明传了呀,为什么收不到 - Spring 中首字母小写,第二个字母大写造成的参数问题

    PS:本文首发于微信公众号:技术角落。感兴趣的同学可以查看并关注:https://mp.weixin.qq.com/s/yL1HpgTQdIPVjuFsq2YGFg vSwitchId 、 uShape 、 iPhone ... 这类字段名,有什么特点?很容易看出来吧,首字母小写,第二个字母大写。它们看起来确实是符合 Java 中对字段所推崇的“小驼峰命名法

    2024年02月03日
    浏览(53)
  • 桌面端旗舰显卡/GPU,所有显卡,服务器显卡,加速卡,工作站显卡天梯榜单,天梯图,天梯列表,2023/2/22

    注意:这里仅统计能买到的GPU,部分超算的定制GPU不算在内 顺序:从高到低 NVIDIA OVX SuperPOD(1024 L40) NVIDIA DGX H100 256 SuperPOD NVIDIA DGX A100 256 SuperPOD NVIDIA OVX POD(128 L40) NVIDIA OVX Server(8*L40) NVIDIA HGX H100 8-GPU SXM Board NVIDIA DGX H100 NVIDIA HGX A100 16-GPU SXM Board NVIDIA DGX A100 NVIDIA HGX H1

    2024年02月06日
    浏览(184)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包