旅行

去哪儿旅行&携程旅行&淘宝旅行移动端产品分析报告  行业状况 随着中国居民收入的逐步提升和对生活品质要求的提高,人们对出行旅游的需求近些年来快速增长。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

如何解决Windows系统中缺失oem*.inf文件导致的软件运行问题

本文详细解析了Windows系统中因oem*.inf文件缺失导致软件无法运行的常见问题。文章阐述了oem*.inf文件作为安装信息文件的重要作用,并提供了从精准定位文件路径、安全获取与替换文件的手动修复步骤,到利用专业工具进行一站式修复的完整解决方案。最后,还给出了从软件安装来源、卸载习惯到系统维护等方面的预防措施,帮助用户彻底避免此类问题。

water的专栏 547

dfs,队列:路线

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

hlps170515的博客 499

拆开华为BBU5900,看看5G基站的大脑里到底装了啥?

本文深度拆解华为BBU5900,揭示5G基站核心处理单元的硬件架构与设计哲学。通过详细解析模块化设计、智能电源系统和动态散热方案,展现其支撑千兆速率、毫秒级时延的技术奥秘,为5G网络部署提供实用参考。

weixin_31456563的博客 563

基于高精度三维机器视觉的新能源汽车锂电池表面缺陷检测

在机器视觉行业迅速发展的背景下,市场上提供了功能强大且种类齐全的3D相机系列,可以满足锂电池从电芯到模组各个工艺和工位的3D检测需求。

Hinyeung_Limited的博客 1132

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

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

屠一乐的博客 2679

Cyclone MAX独立编程实战:从硬件接口到SAP镜像的嵌入式烧录指南

在嵌入式系统开发与量产中,固件烧录是连接软件与硬件的关键环节。其核心原理是通过特定的调试接口(如JTAG、BDM)和编程算法,将编译后的机器码写入目标处理器的非易失性存储器。这项技术的价值在于确保软件在硬件上的可靠部署,是产品功能实现和质量保证的基础,广泛应用于汽车电子、工业控制等对一致性与可靠性要求极高的领域。独立编程器(Stand-Alone Programmer)在此基础上,通过集成存储、交互界面和任务逻辑,实现了脱离PC的自动化操作,极大提升了产线效率和现场维护的便捷性。本文以Cyclone MAX

weixin_34038293的博客 467

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

【软件介绍】RVC本地部署使用方法

【摘要】RVC是一款功能强大的开源语音转换工具,具有实时处理、多音效选择、高质量音频处理等特点。文章详细介绍了RVC的安装与使用方法:1)配置Python环境;2)根据电脑系统选择对应安装包解压;3)启动程序进入浏览器操作界面。重点讲解了声音克隆的关键步骤:建议使用短音频素材,选择合适训练方法(推荐pm或rmvpe),设置100次训练轮数,生成的模型文件存入weights文件夹。最后通过上传音频即可实现声音克隆。操作过程需注意保持程序运行状态,并提供了相关资源下载地址。

心动的那一刻,记忆便盛开了花 2979

Open3D 机载点云电力线提取【2025最新版】

传统方法实现的机载点云电力线分割提取。博客长期更新,本文最新更新时间为:2025年3月23日。

点云侠的博客 4468

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

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

小哈里的博客 6542

OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南——OpenClaw的赚钱底层逻辑与“记忆”革命

AI 的商业价值不在于替代思考,而在于沉淀关系。当 Agent 记住你的偏好、你的历史、你的目标,它就不再是冷冰冰的软件,而是成为数字化的关系资产。这种资产的稀缺性不在于技术复杂度,而在于时间无法被压缩——你无法用更好的算法替代 3 个月的协作记忆。在这场“记忆革命”中,护城河不是模型参数,而是用户与 AI 共同书写的历史。OpenClaw 用一套优雅的文件系统架构,将这种历史转化为可积累、可复用、可变现的数字资产。从“计算即服务”(CaaS)到“记忆即服务”(MaaS)。

冯·诺依曼 1342

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

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

AI天才研究院 1239

STM32开发 -- 4G模块开发详解(1)

这部分一直再看,资料都已经整理好了,但是一直没有汇总。接下来就详细的看一下,GSM这部分是怎么实现的。

不积跬步,无以至千里 5万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

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

IT猿手 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

背包旅行

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

shuhuai007的专栏 3088

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

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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

旅行计划 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、付费专栏及课程。

余额充值