zoj 3195 Design the city(LCA)

LauterBach使用教程 (也就是服务器上编译时候的路径一模一样的路径,选中到工程目录就可以)4.选择自己板子对应的cpu(可以直接界面选择也可以命令行的方式)(cpu里的system setting),我们板子需要sys复位,所以选择sys。注:一般情况下运行状态不可以修改外设寄存器的值,但是可以通过修改配置来修改为运行时可修改(cpu寄存器则不可以)(修改这个配置,运行时也可以查看代码)注意:lauterbach可以使用命令来操作,但是由于本人刚刚使用,目前基本上使用的都是界面的按钮,以后会陆续学习命令行指令和脚本的方式。 阅读详情


zoj 3195 Design the city


树上三点最短距离,分别求两点间最短距离,再求和除以2


#include<cstdio>
#include<cstring>
#include<vector>
using namespace std;
#define MAXN 50005
#define MAXM 70005
struct tnode
{
    int v,d;
    tnode(int v=0,int d=0):v(v),d(d){}
};
struct qnode
{
    int v,id;
    qnode(int v=0,int id=0):v(v),id(id){}
};
vector<tnode> t[MAXN];
vector<qnode> q[MAXN];
int ans[MAXM],fa[MAXN],dis[MAXN];
bool vis[MAXN];
int n,m;
void ini()
{
    for(int i=0;i<n;i++)
    {
        t[i].clear();
        q[i].clear();
        vis[i]=false;
        fa[i]=i;
    }
}
int find(int x) {return x==fa[x]?x:fa[x]=find(fa[x]);}
void lca(int u)
{
    vis[u]=true;
    for(int i=0;i<q[u].size();i++)
    {
        int v=q[u][i].v;
        if(vis[v])
            ans[q[u][i].id]+=dis[u]+dis[v]-2*dis[find(v)];
    }
    for(int i=0;i<t[u].size();i++)
    {
        int v=t[u][i].v;
        if(!vis[v])
        {
            dis[v]=dis[u]+t[u][i].d;
            lca(v);
            fa[v]=u;
        }
    }
}
int main()
{
    bool flag=false;
    while(scanf("%d",&n)!=EOF)
    {
        if(flag) printf("\n");
        else flag=true;
        ini();
        int u,v,d;
        for(int i=0;i<n-1;i++)
        {
            scanf("%d%d%d",&u,&v,&d);
            t[u].push_back(tnode(v,d));
            t[v].push_back(tnode(u,d));
        }
        scanf("%d",&m);
        for(int i=0;i<m;i++)
        {
            scanf("%d%d%d",&u,&v,&d);
            ans[i]=0;
            q[u].push_back(qnode(v,i));
            q[v].push_back(qnode(u,i));
            q[u].push_back(qnode(d,i));
            q[d].push_back(qnode(u,i));
            q[v].push_back(qnode(d,i));
            q[d].push_back(qnode(v,i));
        }
        dis[1]=0;
        lca(1);
        for(int i=0;i<m;i++)
            printf("%d\n",ans[i]/2);
    }
    return 0;
}


《一》:LBE,VR 大空间系列——场景环境需求解析 当前,大量 VR 体验活动在室内场地开展。因此,对于场地照明有特定要求:除天花板外,场地的所有表面均需有照明覆盖。这是为了保证玩家无论处于场地的哪个位置,地面与墙面都不会出现明显的影子。场地内不建议安装射灯或高强度的点光源,若已安装此类灯具,需使用柔光板进行遮盖。此外,要避免在阳光下使用 VR 设备台。参考图(请忽略其中Maker标签) 阅读详情

相关推荐

STM32C8T6实战:用PID算法搞定超级电容的10W无线恒功率充电(附代码避坑)

本文详细介绍了如何使用STM32C8T6和PID算法实现超级电容的10W无线恒功率充电。通过优化硬件设计、动态调整PID参数以及三重滤波技术,解决了超级电容充电过程中的功率尖峰和效率问题。附有代码示例和调试经验,帮助开发者快速实现高效稳定的无线充电方案。

weixin_29190169的博客 405

zoj 3195 Design the city LCA Tarjan

题目链接 : ZOJ Problem Set - 3195 题目大意: 求三点之间的最短距离 思路: 有了两点之间的最短距离求法,不难得出: 对于三个点我们两两之间求最短距离 得到 d1 d2 d3 那么最短距离就是 d = ( d1 + d2 + d3 ) / 2 要注意每个数组的范围大小,因为这个问题手抖敲错,TLE+RE一整页/(ㄒoㄒ)/~~ 用前向星来保存边和询问,空...

ddqb3235的博客 180

TeraTerm 使用技巧

⏹TeraTerm 使用技巧

菜鸟记录 9991

ZOJ - 3195 -- Design the city

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3195 给定一棵树,查询连通任意三点的路径的总长度。 设给定的三点为x,y,z。三点之间的路径总长度=(lca(x,y)+lca(y,z)+lca(x,z))/2。 代码: #include &lt;cstdio&gt; #include &lt;cstr...

No cost too great! 209

卷积神经网络中的边缘检测:从Canny算法到深度学习(PyTorch实现)

本文系统梳理了边缘检测从经典Canny算法到深度学习方法的演进,重点解析了Canny算法的数学原理及其对卷积神经网络设计的深远影响。通过PyTorch实战,详细演示了如何构建并训练一个基于HED架构的深度学习边缘检测模型,并探讨了模型优化、评估及与传统方法融合的高级技巧。

jenkins8butler的博客 151

Simulink进行无人机飞行力学建模与仿真

摘要:本文详细介绍了使用MATLAB/Simulink进行四旋翼无人机飞行力学建模与仿真的步骤。内容包括准备工作、动力学方程概述、模型构建(使用State-Space或Simscape Multibody)、可选控制器设计、仿真参数配置及结果分析。教程强调理解飞行力学原理和坐标系转换的重要性,建议根据需求选择模型复杂度,并推荐查阅学术文献获取更深入的建模方法。通过本教程,读者可掌握无人机动力学建模基础,为控制系统开发和性能优化奠定基础。

amy_mhd的博客 272

zoj 3195(LCA应用)

Design the city Time Limit: 1 Second      Memory Limit: 32768 KB Cerror is the mayor of city HangZhou. As you may know, the traffic sy

志当存高远 1075

五十天精通硬件设计第6天-放大器知识及选型

运算放大器(Operational Amplifier,简称运放)是一种高增益的直流耦合差分放大器,广泛应用于信号处理、滤波、比较、积分、微分等电路中。

whm128的博客 593

【图论】连通性问题

递归初始化lca主体开始交了几发都不对,以为必须用tarjan等快方法今天看到输出少了一个,n-1条边,s的父是0,ac了。

2302_80811345的博客 580

Oracle11g下载与安装(windows)

一、Oracle11g下载 二、安装准备 三、执行安装步骤 四、测试连接 附:Oracle11g服务说明

欢迎订阅我的“JAVA全栈开发笔记(全)”专栏,价格优惠,仅需19.9元。 2万+

2026华为OD机试(Python)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,Python实现。

MISAYAONE的博客 29万+

zoj3195(一个关于LCA的应用,三个节点)

Design the city Time Limit: 1 Second      Memory Limit: 32768 KB Cerror is the mayor of city HangZhou. As you may know, the traffic system of this city is so terrible, that there are traffi

小周的专栏 1236

[Dify] 如何在Dify中解析上传的TXT文件内容

在Dify平台上构建智能应用时,解析用户上传的.txt文件是关键步骤。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 2636

ZOJ 3195 Design the city 【LCA】

传送门 Description Cerror is the mayor of city HangZhou. As you may know, the traffic system of this city is so terrible, that there are traffic jams everywhere. Now, Cerror finds out that the main rea...

qq_42211531的博客 206

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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

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

ZOJ 3195 Design the city(LCA变形)

题意:给定一棵树,求连接三点所需的最短距离。 思路:LCA变形,连接三点的最短距离可以转化为求任意两点距离之和的和再除以二。 #include #include #include #include #include #include #include #include #include #include #include #include #includ

GODSPEED 631

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ZOJ 3195 Design the city LCA

题目:http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3195 题意:给定一个树,求三点之间的距离 思路:假定三点为u, v, w,那么(dist[u,v] + dist[v,w] + dist[u,w]) / 2就是答案 总结:wa时不要灰心,也许你离ac不远了 #include #includ

弱智就要多努力 3791

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Design the city ZOJ - 3195 LCA倍增

Cerror is the mayor of city HangZhou. As you may know, the traffic system of this city is so terrible, that there are traffic jams everywhere. Now, Cerror finds out that the main reason of them is the...

why932346109的博客 165

Zoj 3195 Design the city (数据结构_LCA)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3320 题目大意:给定n个节点的树,要求我们查询树上三个点之间的距离。n 解题思路:LCA好题,和普通的LCA不同的是本题查询的是三个点。一开始我的做法很诡异,找三个点的关系,然后离线Tarjan求解。我共找到4个关系,但是总能找到反例拓展这些关系

154

Design the city - ZOJ 3195 LCA

Design the city Time Limit: 1 Second      Memory Limit: 32768 KB Cerror is the mayor of city HangZhou. As you may know, the traffic system of this city is so terrible, that there are traffic j

提比的强行AC 669

zoj 3195 Design the city LCA

Design the city Time Limit: 1 Second      Memory Limit: 32768 KB Cerror is the mayor of city HangZhou. As you may know, the traffic system of this city is so terrible, that there are traffic j

Azarath Metrion Zinthos 933

ZOJ 3195 Design the city LCA转RMQ

题意:给定n个点,下面n-1行 u , v ,dis 表示一条无向边和边权值,这里给了一颗无向树 下面m表示m个询问,问 u v n 三点最短距离 典型的LCA转RMQ   #include #include #include #define N 100000 #define INF 1<<29 #define Logo 17 using namespace std; i

九野的博客 1607

ZOJ3195 Design the city(LCA)

题目大概说给一棵树,每次询问三个点,问要把三个点连在一起的最少边权和是多少。 分几种情况。。三个点LCA都相同,三个点有两对的LCA是某一点,三个点有两对的LCA各不相同。。。%……¥…… 画画图可以发现。。虽然好像不太严谨。。连接(a,b,c)三个点的最短边权和=(dist(a,b)+dist(b,c)+dist(a,c))/2,而dist(u,v)的计算可以预处理出各点到根的距离weigh...

weixin_30463341的博客 87

ZOJ - 3195 Design the city LCA(倍增) 求树上三点之间最短距离

ZOJ - 3195 Design the city 题意: 有 n 个地区,n-1条(带权)街道,m条查询,求三点之间的最短距离 此题的地区从 0 开始编号 思路: 两点之间的距离公式为:dis[x] + dis[y] - 2*dis[lca(x,y)] 先两两求 lca,求出深度最大的那个了 lca ,然后将 剩余的那个点与求出深度最大的 lca 所在点再求 lca,套两次公式...

没有梦想何以远行 1206

ZOJ 3195 Design the city——LCA

题意: 求树上三点之间的最短距离 思路: 求三个点两两之间的最短距离,相加除以2便是结果 #include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;cmath&gt; using namespace std; cons...

hao_zong_yin的博客 402

ZOJ 3195 Design the city LCA转RMQ在线

Design the city Time Limit: 1 Second      Memory Limit: 32768 KB Cerror is the mayor of city HangZhou. As you may know, the traffic system of this city is so terrible, that there are traffic j

fans_ac的博客 463

ZOJ - 3195 Design the city(LCA)

题目大意:给出一棵N个结点的无向树,Q个询问,每次询问的是树上的一点到u,v,w这三点的最小距离和解题思路:LCA离线和在线都可以解决 一个点到三个点的最小距离和,就是(2 * dis[u] + 2 * dis[v] + 2 * dis[w] - 2 * dis[lca(u,v)] - 2 * dis[lca(v,w)] - 2 * dis[(u,w)]) /2 除于2是因为边重复计算了两个,这

静静地码 495
上一篇: hdu 2874 Connections between cities(LCA)
下一篇: 反转单链表
yjCola
博客等级 码龄14年 4粉丝 138原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值