旅行

去哪儿旅行&携程旅行&淘宝旅行移动端产品分析报告  行业状况 随着中国居民收入的逐步提升和对生活品质要求的提高,人们对出行旅游的需求近些年来快速增长。2014年中国在线旅游市场交易规模已经达到了2798.2亿元,增长率为28.3%。 在2014年在线旅游市场份额前三位的分别是携程、去哪儿和阿里旅行,三家企业共占据了中国在线旅游市场的70.9%的份额。本文选取携程、去哪儿和阿里旅行进行产品分析。 分析产品 阅读详情

题目描述
小C上周末和他可爱的同学小A一起去X湖玩。
X湖景区一共有n个景点,这些景点由n-1条观光道连接着,从每个景点开始都可以通过观光道直接或间接地走到其他所有的景点。小C带着小A从1号景点开始游玩。游览完第一个景点后,先由小C决定下一个游览的景点,他们一起走去那个景点玩。接下来,他们轮流决定他们下一步去哪个景点玩。他们不会选择已经走过的景点,因为重复游览一个景点是无趣的。当他们无法选择下一个景点时,他们就结束旅程。
小C是好动的男孩纸,所以他希望游览的过程尽量长,也就是走过观光道的长度和最大。而小A是文静的女孩纸,她希望游览的过程尽量短。小A和小C都极度聪明,且他们的目光都足够长远,他们做出的决策都是对自己最优的。由于小C在旅游前就仔细研究了X湖景区的地图,他可以在旅行开始前就用自己惊人的数学能力推算出他和小A旅行的路径长度。
小C的梦境是美好的。在他的梦里,他和小A又进行了n-1次旅行,第i次旅行从i+1号点开始,每次也是小C先决定下一个景点,然后小A,然后小C……直到旅行结束。现在小C希望你对于所有n次旅行,求出他和小A旅行的路径长度。
输入
第一行一个正整数n,表示景点的个数。
接下来n-1行,每行三个正整数u,v,c。表示有一条连接u和v的双向观光道,其长度为c。
输出
输出一共N行,每行一个正整数。第i行表示从i号点开始旅行他们走过的路径长度。

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

提示
从1号景点开始:
若小C选择走到3号景点,则小A无法选择下一个景点,旅行的路径长度为2
若小C选择走到2号景点,则小A会在4号景点和5号景点中选择更近的4号点,然后小C无法选择下一个景点,旅行结束,旅行的路径长度会是4
所以小C会选择走到2号点,最终的路径长度是4
【数据范围】
对于20%的数据,N ≤ 15
对于60%的数据,N ≤ 3000
对于100%的数据,N ≤ 300000, c[i] ≤ 1e9

Solution

n^2的数据可以每次枚举树根,然后用一个简单的dp实现

void dp(int k,int pre)
{
    int son=0; 
    for(int i=head[k];i!=-1;i=Next[i]) 
    if(to[i]!=pre) 
    {
        son=1; 
        dp(to[i],k);
        f[k]=max(f[k],g[to[i]]+len[i]);
        g[k]=min(g[k],f[to[i]]+len[i]);
    }
    if(!son) g[k]=0; 
}   

我们发现,如果以1为根形成的一棵树,做了一遍dp后,为了求每个点作为树根的f[i],必须把i上面的子树的情况也要考虑进去。
sf[i]表示i上面的子树的f值
sg[i]同理
求起来有些繁琐,min和max之类的和初始化一定要搞清楚。

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#define ll long long
using namespace std;
int n,x,y,z,tot;
int head[300005],Next[600005],len[600005],to[600005];
ll f[300005],g[300005],sf[300005],sg[300005],ans[300005];
void dp(int k,int pre)
{
    int son=0; 
    for(int i=head[k];i!=-1;i=Next[i]) 
    if(to[i]!=pre) 
    {
        son=1; 
        dp(to[i],k);
        f[k]=max(f[k],g[to[i]]+len[i]);
        g[k]=min(g[k],f[to[i]]+len[i]);
    }
    if(!son) g[k]=0; 
}       
void add(int x,int y,int z)
{
    Next[tot]=head[x];
    to[tot]=y;
    len[tot]=z;
    head[x]=tot;
    tot++;
}
void DP(int k,int pre)
{
    ll s1=1e16,s2=1e16; 
    int p1=0,p2=0; 
    for(int i=head[k];i!=-1;i=Next[i]) 
    if(to[i]!=pre) 
    {
        if(f[to[i]]+len[i]<s1) 
        {
            s2=s1;
            p2=p1;
            s1=f[to[i]]+len[i];
            p1=to[i];
        }
        else
        if(f[to[i]]+len[i]<s2) 
        {
            s2=f[to[i]]+len[i];
            p2=to[i];
        }
    }
    for(int i=head[k];i!=-1;i=Next[i]) //求sf
    if(to[i]!=pre) 
    {
        if(p1!=to[i]) sf[to[i]]=min(sf[to[i]],s1+len[i]); else sf[to[i]]=min(sf[to[i]],s2+len[i]);
        sf[to[i]]=min(sf[to[i]],sg[k]+len[i]); 
    }
    s1=s2=0;
    p1=p2=0;
    for(int i=head[k];i!=-1;i=Next[i]) 
    if(to[i]!=pre) 
    {
        if(g[to[i]]+len[i]>s1) 
        {
            s2=s1;
            p2=p1;
            s1=g[to[i]]+len[i];
            p1=to[i];
        }
        else
        if(g[to[i]]+len[i]>s2) 
        {
            s2=g[to[i]]+len[i];
            p2=to[i];
        }
    }
    for(int i=head[k];i!=-1;i=Next[i]) //求sg
    if(to[i]!=pre) 
    {
        if(p1!=to[i]) sg[to[i]]=max(sg[to[i]],s1+len[i]); else sg[to[i]]=max(sg[to[i]],s2+len[i]);
        sg[to[i]]=max(sg[to[i]],sf[k]+len[i]); 
    }
    for(int i=head[k];i!=-1;i=Next[i]) 
    if(to[i]!=pre) 
    {
        ans[to[i]]=max(f[to[i]],sf[to[i]]); 
        DP(to[i],k);
    }
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++) head[i]=-1;
    for(int i=1;i<=n;i++) 
    {
        f[i]=sg[i]=0;
        g[i]=sf[i]=1e16;
    }
    for(int i=1;i<n;i++) 
    {
        scanf("%d%d%d",&x,&y,&z);
        add(x,y,z);
        add(y,x,z);
    }
    dp(1,0);
    ans[1]=f[1]; sg[1]=1e16; sf[1]=0; 
    DP(1,0);
    for(int i=1;i<=n;i++) printf("%lld\n",ans[i]);
    return 0;
}
在个人网站上创建一个旅行页面可以展示你的旅行经历、目的地推荐、旅行故事和摄影作品 个人网站-旅行页面在个人网站上创建一个旅行页面可以展示你的旅行经历、目的地推荐、旅行故事和摄影作品。以下是一些关于如何设计这个页面的建议: 阅读详情

相关推荐

反向旅行:从打卡到感受的旅行新哲学

旅行作为一种生活方式,其本质在于体验差异与开阔视野。在社交媒体时代,传统旅行逐渐异化为打卡任务,人们追逐热门景点却失去个性化体验。反向旅行通过地理、时间和方式三个维度的逆向选择,引导旅行者从被动跟风转向主动探索。这种旅行方式不仅降低成本,更重要的是重塑旅行的核心价值——通过深入小众地区、慢节奏体验当地生活,重新获得对旅行的主动权。从菜市场漫步到与当地人交流,反向旅行将旅行回归到感受与认知的层面,为过度商业化的旅游业提供新的思考方向。

weixin_34327223的博客 356

小A的最短路(LCA、倍增算法学习)

链接:https://ac.nowcoder.com/acm/contest/549/F 来源:牛客网 小A的最短路 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 小A这次来到一个景区去旅游,景区里面有N个景点,景点之间有N-1条路径。小A从当前的一个景点移动到下一个景点需要...

ccsu_deer 742

Ambari 3.0.0 + BigTop 3.3.0 源码编译与集群部署指南(Kylin V10 / aarch64)

仅仅是针对“应用商店目录(Applications Catalog)”的一个外围附属子模块(它不是 YARN 监控大盘,不影响 YARN UI 网页的主体使用),我们可以采用。自带的 Node 二进制是 x86_64 版本,在 ARM64(aarch64)容器上无法执行(Exit value: 126)。:Ambari Server/Agent 使用 JDK 17,BigTop 大数据组件(Hadoop/HBase/Spark 等)使用 JDK 8。,源码中包含 x86 特定的原生二进制文件。

amumu1992的博客 485

dfs,队列:路线

输入输出样例:5 4 1 2 1 3 2 4 2 5 输出 : 2 1 3 2

hlps170515的博客 499

Prompt Airlines CTF通关实战:从提示词注入到多模态攻击的AI安全攻防演练

提示词注入(Prompt Injection)是当前大语言模型(LLM)应用面临的核心安全威胁之一,其原理在于攻击者通过精心构造的用户输入,覆盖或绕过系统预设的指令,从而操控模型行为。这种攻击手法的技术价值在于揭示了AI系统在理解与执行指令时存在的逻辑边界模糊性,可能导致数据泄露、越权访问等严重风险。在应用场景上,从基础的客服对话到结合视觉识别的多模态系统,都可能成为攻击面。本文以一场名为“Prompt Airlines CTF”的实战挑战为例,深入剖析了包括指令遗忘、上下文注入、工具调用滥用及多模态提示注

aodan5477的博客 518

软件项目质量管理

识别项目中涉及质量管理的不同角色,如项目经理、质量经理、测试人员等,明确每个角色的职责和任务,包括负责哪些质量管理活动和决策。1、编制软件项目的质量管理计划,包括确定项目的质量标准和要求,以及制定质量控制和质量保证策略等。2、编制软件项目的质量管理计划,包括确定项目的质量标准和要求,以及制定质量控制和质量保证策略等。测试用例表是质量控制过程中的关键工具,确保所有功能和场景都被验证,减少项目中的缺陷。1、理解项目质量管理的基本过程,包括质量计划、质量保证、质量控制和质量改进;明确质量管理活动中的角色和职责。

weixin_51996255的博客 1260

第十四届蓝桥杯C/C++_大学B组省赛真题

【考生须知】考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。考试时间为 4 小时。考试期间选手可浏览自己已经提交的答案,被浏览的答案允许拷贝。时间截止后,将无法继续提交或浏览答案。对同一题目,选手可多次提交答案,以最后一次提交的答案为准。选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它 方式提交的答案无效。试题包含“结果填空”和“程序设计”两种题型。结果填空题:要求选手根据题目描述直接填写结果。求解方式不限。不要 求源代码。

屠一乐的博客 2679

ardupilot 日志分析《xKF1信息》

ardupilot 日志分析系列将会把ardupilot所有的日志文档进行分析,为我们分析无人机的运行状态,炸鸡原因,传感器状态,电机状态,控制信息,滤波信息做准备。本节主要分析xKF1日志信息,欢迎批评指正。学习好ardupilot必须会分析飞行日志,从飞行日志中我们可以学到很多无人机的知识。无人机是综合知识的体现,涵盖:导航、控制、滤波、算法、协议等各种知识,只有更全面的学习,才能在无人机的道路上越走越远。

陌城烟雨 1226

2021.6.6

NC https://ac.nowcoder.com/acm/contest/17085/E 大意:有n个景点,m条轨道将某些景点连接起来,每个景点有一个对应的高度,每次只能从某个景点去和它相连的并且高度不高于它的景点。并且可以随时随地回到之前走过的任意一个景点。求从1号景点开始的能走到的最多的景点的数量和最小距离和。1<=n<=1e5,1<=m<=1e6,1<=hi<=1e9 思路:首先很容易想到,对于最多的景点数,就是从1开始dfs,求连通块中点的个数,注意这里是.

m0_51488693的博客 631

华为OD机试真题2026双机位C卷 Java&Go 实现【用户入网定期复评】

用户开立支付账户,在开户完成后立即对用户进行一次风险模型评级,输出一个评分风险,评分范围1-100,等区间的分为5个等级,1-19为等级1,20-39为等级2,40-59为等级3,60-79为等级4,80-100为等级5,系统每天会任务对全量入网用户进行计算复评时间,输出评分给出新的风险等级。复评规则如下:

MISAYAONE的博客 149

12、激光制造中人工智能与机器学习的应用及挑战

本文探讨了人工智能与机器学习在激光制造中的应用,重点分析了图像分类技术在质量检测中的多种方法及其性能对比,包括基于贝叶斯分类、卷积神经网络(CNN)和多尺度CNN的技术。同时,文章指出了AI在激光制造中面临的五大挑战:鲁棒性、安全性、可解释性、责任归属和可预测性,并提出了相应的解决思路。此外,还介绍了激光制造的主要应用技术如切割、焊接和增材制造的流程、优势与局限性,并通过对比表格直观展示不同技术的特点。最后展望了未来激光制造向智能化、自动化和可持续化发展的趋势。

rgv234567的博客 138

【旅行】关于毕业旅行与长期旅行计划(城市、攻略、预算、交通、面基等)

【旅行】关于毕业旅行与长期旅行计划(城市、攻略、预算、交通、面基等) 文章目录 一、目的地与去哪儿玩 1、可能 2、人民币 3、国家地理 4、省份与城市 5、环球旅行 二、攻略之怎么玩(旅行预算、攻略) 1、旅行预算之交通、住宿、门票等 2、计划与攻略 三、旅行的意义,为什么要去旅行 1、一个人的旅行 & 旅行搭子 & 老友面基 2、看到不同的世界、文化(通用) 3、游记与拍照(个人) 一、目的地与去哪儿玩 1、可能 2、人民币 3、国家地理 4、省份与城市 5、环球旅行 二、攻略之怎么玩(旅行预算、攻略

小哈里的博客 6542

ESP32与INMP441麦克风模块实现音频传输

ESP32是一款低成本、低功耗的物联网开发板,支持Wi-Fi和蓝牙双模通信,内置双核处理器,适合音频处理和实时数据传输。INMP441是一款高性能数字麦克风模块,支持I2S接口,可提供高精度音频数据采集(24-bit分辨率,64-100 dB SNR)。

走向CTO的路上... 2040

人工智能与人类旅行:智能旅行指导

1.背景介绍 随着人工智能技术的不断发展,我们的生活中越来越多的领域都被智能化。旅行行业也不例外。智能旅行指导是一种利用人工智能技术为旅行者提供个性化旅行建议和指导的方法。这种技术可以帮助旅行者更好地规划旅行计划,提高旅行体验,并降低旅行成本。 在这篇文章中,我们将深入探讨智能旅行指导的核心概念、算法原理、实例代码和未来发展趋势。我们将涉及到的主要内容包括: 背景介绍 核心概念与联系 核心...

AI天才研究院 1239

基于ESP32的智能厨房控制系统开发

随着智能家居技术的发展,越来越多的家庭开始将传统的厨房设备进行智能化改造,以提高烹饪效率和生活质量。智能厨房控制系统是物联网(IoT)应用的重要组成部分,它将家居设备、传感器和网络结合起来,提供便捷的控制与监测功能,使厨房的烹饪过程更加智能、便捷和安全。基于ESP32的智能厨房控制系统不仅能够实现远程控制和监控,还能实现温度、湿度、烹饪状态的实时反馈,甚至具备智能化的推荐和自动化控制能力。ESP32是一款功能强大、集成度高的嵌入式开发平台,具有Wi-Fi和蓝牙双模通信能力,广泛应用于物联网设备的开发。

2201_76125393的博客 658

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

多旅行商问题(Multiple Traveling Salesman Problem, MTSP):单仓库多旅行商问题及多仓库多旅行商问题(含动态视频)

多旅行商问题(Multiple Traveling Salesman Problem, MTSP)是著名的旅行商问题(Traveling Salesman Problem, TSP)的延伸,多旅行商问题定义为:给定一个𝑛座城市的城市集合,指定𝑚个推销员,每一位推销员从起点城市出发访问一定数量的城市,最后回到终点城市,要求除起点和终点城市以外,每一座城市都必须至少被一位推销员访问,并且只能访问一次,需要求解出满足上述要求并且代价最小的分配方案,其中的代价通常用总路程长度来代替,当然也可以是时间、费用等。

IT猿手 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

背包旅行

你认为你是一个背包客。   你出生在80后90初,性格外向开朗,喜欢交朋友,生性热爱自由,从小独立,自己能做到的事都不想麻烦别人。   你和旅行结缘始于小学到初中,你和爸妈亲戚跟团去了北京长城故宫,去了安徽黄山,去了桂林。那时候你还小,就知道旅行是到处玩,有导游姐姐带路,有不同于家乡的风景看,还有东西吃。   高中了,学业繁忙,你没有时间去玩了,但交到了人生最铁最好的哥们姐妹朋友。  

shuhuai007的专栏 3088

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

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

旅行计划 c++_设计旅行计划器

旅行计划 c++ 设计旅行计划器 (Design a Trip Planner)Photo by Element5 Digital on Unsplash Element5 Digital在Unsplash上拍摄的照片 We love to travel. In exploring new places, we have opportunities to think about life and...

weixin_26752759的博客 1085

百日旅行

题目链接:百日旅行 做法其实挺多的,显然我们可以维护一个下凸包,然后做斜率优化dp。 其次因为代价是平方的,所以一定不会连续太长,所以我们可以dp[i][0/1]去dp。每次最多往前转移1000个值。 然后我们也可以贪心去做,如果我们知道当前的旅行和吃饭天数,那么显然我们旅行肯定是平均的插入到吃饭之间。 然后因为这个是具有三分性的,我们可以对上面的结论三分。 第二种代码: #pragma GCC optimize("-Ofast","-funroll-all-loops") #include<bi

青烟绕指柔的博客 2433

旅行的意义

最近都在准备面试的一些东西,就没输出啥技术类的文章了,写的比较多的都是一些生活感悟,各位看官就简单看几眼吧。国庆小长假,约了两个朋友去长沙玩了几天,还因为没抢到票差点回不来,这一篇就聊聊旅行的意义。 旅行的意义是什么?很多次我想到这个问题的时候都给不出一个稍微恰当一些的回答,直到在《得到》上听到吴军老师的《硅谷来信》中关于旅行的那一篇。 在认知学上,可以把知识的获取归纳为三种:亲身感知、他人告...

少东的博客 816

Jill旅行

其中N(2

LX567567的博客 922

无人旅行概念——改变人类未来旅行方式

基于5G、VR技术以及未来的智能硬件发展,我提出足不出户便可游玩全球的的无人旅行概念,解决旅行长途奔波痛点,改变人们旅行方式。 在河北武安开发无人旅行试点,于京娘湖、七步沟等景区设置观景机器人,机器人由仿人形五球轮滑动机器人以及无人机(非平地观景)两部分构成,硬件设施搭建完成后,由用户购买旅行装,主要是沉浸式头盔(后续可以加入新技术,同步真人与观景机器人动作),通过观景机器人实现千里之外就可以和景区游玩的人互动。 无人旅行概念成熟之后,将中国景区概念带向全世界,颠覆外国人对中国认知,观景机器人内置翻译芯片,

小白菜的博客 915

有一种旅行,叫沉默

台州学院 黄高鸿(C/C++学生) 1191
上一篇: 兔子家谱树
下一篇: before noip 2016
ACTY
博客等级 码龄12年 21粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值