hud 2586 How far away ?

题目连接

http://acm.hdu.edu.cn/showproblem.php?pid=2586  

How far away ?

Description

There are n houses in the village and some bidirectional roads connecting them. Every day peole always like to ask like this "How far is it if I want to go from house A to house B"? Usually it hard to answer. But luckily int this village the answer is always unique, since the roads are built in the way that there is a unique simple path("simple" means you can't visit a place twice) between every two houses. Yout task is to answer all these curious people.

Input

First line is a single integer T(T<=10), indicating the number of test cases.
  For each test case,in the first line there are two numbers n(2<=n<=40000) and m (1<=m<=200),the number of houses and the number of queries. The following n-1 lines each consisting three numbers i,j,k, separated bu a single space, meaning that there is a road connecting house i and house j,with length k(0<k<=40000).The houses are labeled from 1 to n.
  Next m lines each has distinct integers i and j, you areato answer the distance between house i and house j.

Output

For each test case,output m lines. Each line represents the answer of the query. Output a bland line after each test case.

Sample Input

2
3 2
1 2 10
3 1 15
1 2
2 3

2 2
1 2 100
1 2
2 1

Sample Output

10
25
100
100

tarjan离线求LCA。。

#include <bits/stdc++.h>
using namespace std;
const int N = 40010;
struct Tarjan_Lca {
    bool vis[N];
    vector<pair<int, int>> A, Q[N];
    int tot, par[N], ans[210], head[N], dist[N];
    struct edge { int to, w, next; }G[N << 1];
    inline void init(int n) {
        A.clear();
        for(int i = 0; i < n + 2; i++) {
            par[i] = i;
            vis[i] = false;
            head[i] = -1;
            dist[i] = 0;
            Q[i].clear();
        }
    }
    inline void add_edge(int u, int v, int w) {
        G[tot] = { v, w, head[u] }, head[u] = tot++;
        G[tot] = { u, w, head[v] }, head[v] = tot++;
    }
    inline void built(int n, int m) {
        int u, v, w;
        while(n-- > 1) {
            scanf("%d %d %d", &u, &v, &w);
            add_edge(u, v, w);
        }
        for(int i = 0; i < m; i++) {
            scanf("%d %d", &u, &v);
            A.push_back(pair<int, int>(u, v));
            Q[u].push_back(pair<int, int>(v, i));
            Q[v].push_back(pair<int, int>(u, i));
        }
    }
    inline int find(int x) {
        while(x != par[x]) {
            x = par[x] = par[par[x]];
        }
        return x;
    }
    inline void tarjan(int u, int fa) {
        for(int i = head[u]; ~i; i = G[i].next) {
            edge &e = G[i];
            if(e.to == fa) continue;
            dist[e.to] = dist[u] + e.w;
            tarjan(e.to, u);
            vis[e.to] = true;
            par[e.to] = u;
        }
        for(auto &r: Q[u]) {
            if(vis[r.first]) ans[r.second] = find(r.first);
        }
    }
    inline void solve(int n, int m) {
        init(n);
        built(n, m);
        tarjan(1, 1);
        for(int i = 0; i < m; i++) {
            printf("%d\n", dist[A[i].first] + dist[A[i].second] - 2 * dist[ans[i]]);
        }
    }
}go;
int main() {
#ifdef LOCAL
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w+", stdout);
#endif
    int t, n, m;
    scanf("%d", &t);
    while(t--) {
        scanf("%d %d", &n, &m);
        go.solve(n, m);
    }
    return 0;
}

转载于:https://www.cnblogs.com/GadyPu/p/4992920.html

SAP B1中文培訓教材_SDK 公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说 立即下载

相关推荐

c++2048小游戏编写

最近编写了一个小游戏,叫作2048,用到了面向对象的知识。

一个学生的博客 2371

HUD-2586How far away ?(LCA ST版本)

How far away ? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 18132    Accepted Submission(s): 7038 Problem Description There are

1988的博客 376

四旋翼滑模控制:从理论到Simulink实现

本文深入探讨了四旋翼滑模控制的理论与Simulink实现,对比了其相较于PID控制在抗干扰和鲁棒性方面的显著优势。文章详细介绍了从精确动力学建模、内外环滑模控制器设计到指令解算的完整流程,并分享了Simulink仿真搭建、参数调试及抗扰性能验证的实战经验,帮助工程师掌握在复杂环境下提升四旋翼稳定性的进阶技能。

weixin_29163581的博客 375

hud2586 How far away ?(tarjan求lca)

Problem Description There are n houses in the village and some bidirectional roads connecting them. Every day peole always like to ask like this “How far is it if I want to go from house A to house B”? Usually it hard to answer. But luckily int this villag

qq_45928501的博客 138

海康读码器上位机开发避坑指南:IDMVS客户端之外,如何用C# SDK搞定扫码、数据比对与实时控制?

本文详细介绍了如何利用海康读码器的C# SDK进行二次开发,实现从基础扫码到复杂工业控制的全流程解决方案。内容涵盖SDK架构解析、多设备管理系统构建、业务逻辑与设备控制实现,以及系统集成与性能优化等关键环节,为工业自动化领域的开发者提供实用指南。

weixin_30642561的博客 550

保姆级教程:用CellOracle 0.10.13分析你的单细胞数据,从GRN构建到基因扰动模拟

本文详细介绍了如何使用CellOracle 0.10.13进行单细胞数据分析,从基因调控网络(GRN)构建到基因扰动模拟的全流程。通过环境配置、数据准备、GRN构建和扰动模拟等步骤,帮助研究者高效预测细胞命运决定的分子机制,特别针对实际分析中的易错点提供解决方案。

weixin_42525005的博客 437

给 LikeShop 加一个自定义分销佣金规则:改了哪几个文件

为在LikeShop中添加自定义分销佣金规则(如二级分销商团队激励),需精准定位核心文件:DistributionLogic.php 实现计算逻辑扩展,后台配置逻辑支持可配性,数据库迁移新增字段。关键在于不硬编码比例,通过租户隔离的配置表实现灵活管理。结算与售后逻辑仅在涉及差异化条件时才需调整。务必验证全链路状态流转,避免“算对但结不了”或“退了仍返佣”问题。核心改动聚焦于计算、配置、数据三端,确保可维护性与可配置性。

hudie765的博客 287

uniapp实战:mui-player插件如何完美适配m3u8/flv直播流(附完整代码)

本文详细介绍了如何在Uniapp中使用mui-player插件完美适配m3u8和flv直播流,提供从基础配置到高级优化的全流程解决方案。通过动态加载策略、响应式布局和内存管理,实现跨平台稳定播放,适用于企业级直播应用开发。

weixin_29001655的博客 235

Calico 网络插件实战

集群外部主机可以访问集群内部应用集群内部应用也可以访问集群外部主机各个namespace之间没有做任何的隔离策略如果希望在 IP 地址或端口层面控制网络流量, 考虑使用 Kubernetes 网络策略(NetworkPolicy)。NetworkPolicy 是一种以应用为中心的结构,允许你设置如何允许Pod与网络上的各类网络“实体” 通信。NetworkPolicy 适用于一端或两端与 Pod 的连接,与其他连接无关。**提示:**网络策略通过网络插件来实现。

weixin_63581562的博客 411

Halcon —— 图像像素类型与转换

图像类型 就目前工业领域主流的图像处理工具halcon来讲,有以下几张图像类型:‘byte’, ‘complex’, ‘cyclic’, ‘direction’, ‘int1’, ‘int2’, ‘int4’, ‘int8’, ‘real’, ‘uint2’,具体含义如下图所示。相互间的转换可通过convert_image_type算子完成,但盲目转换会导致图像像素值异常。 ‘byte’ 每像素1字节,无符号 值范围: (0到255) ‘int1’ 每像素1字节,有符号 值范围: (-128到127) ‘

baidu_35536188的博客 1万+

GoAnywhere MFT 身份验证绕过漏洞(CVE-2024-0204)

GoAnywhere MFT 身份验证绕过漏洞(CVE-2024-0204)

weixin_43567873的博客 387

GitHub 热榜项目:日榜(2026-11-07)

给编码智能体配技能的项目最热:cloudflare/security-audit-skill 把审计拆成六阶段并输出可验证 JSON,新增 2,548 星;mattpocock/skills 把工程技能放进 .agents 目录,新增 2,070 星。Web 应用框架也有四个项目集中上榜,以 react/react 为代表。

u130130的博客 383

一步步带你用C#开发Modbus通信上位机(附完整代码与工程思路)

Modbus上位机开发指南(C#实现) 本文详细介绍使用C#开发Modbus上位机系统的全过程,覆盖RTU和TCP两种协议。内容包含:1)需求分析与技术选型(WinForms+NModbus4);2)分层架构设计(UI/业务/通信层);3)通信层核心代码实现(串口/以太网连接、数据读写);4)功能模块开发(设备管理、数据采集、远程控制)。提供可直接复用的Modbus RTU客户端代码示例,包含连接管理、线圈读写、寄存器操作等工业场景必备功能。通过系统化的开发流程,帮助开发者快速构建稳定可靠的Modbus监控

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 819

ThinkPHP+UniApp 多端圈子系统如何设计:论坛内容、实时会话与交易模块的技术实现!

本文介绍基于ThinkPHP与UniApp的多端兴趣圈子系统设计,实现小程序、H5、App三端统一账号与数据同步。系统采用模块化架构,支持圈子管理、论坛互动、实时会话与可选交易功能,通过统一消息中心复用通知与会话通道,保障跨端一致性。核心亮点包括权限清晰的圈主与平台管理分离、内容核验前置、数据冷热分离及缓存优化,确保系统可扩展、易维护,适用于同好社群、本地团体等场景。

2603_96017077的博客 156

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

零信任架构实战:基于天远单人婚姻查询构建自动化智慧住房资格核验网关

破解公租房资格核查痛点:从传统纸质婚姻凭证抽检到权威民政数据穿透直连 在智慧城市公共租赁住房(公租房)、保障性租赁住房以及共有产权房等民生保障工程中,保障房资源的公平精准分配是住房保障管理中台的核心职责。按照现行住房保障准入政策,申请主体的家庭结构直接决定了配租资格准入与面积配给标准:单身家庭申请人通常享有特定的单人保障配额与独立的财产评估标准,要求申请人具

2501_94042197的博客 175

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

CTF2困难部分

该题为一道综合型Web安全挑战,涉及SSTI(服务器端模板注入)、LFI(本地文件包含)、PHAR反序列化、命令执行及SQL注入。攻击者通过绕过WAF限制,利用Jinja2模板的__builtins__和getattr等机制实现任意文件读取与命令执行;结合PHAR文件伪造触发反序列化漏洞,写入webshell并读取flag;同时在数据库查询中通过注释绕过空格过滤,联合注入获取敏感信息。最终成功获取flag:CTF2{b62c748a-160c-481c-9068-03dfe68ae1d9}。

fengci111的博客 168

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Docker 部署 WordPress+MySQL 高可用架构

点「安装 WordPress」

一直在努力学习的菜鸟 222

给 CRMEB V8 给 MCP 服务加一个分销工具

环境:PHP 8.2+、ThinkPHP 8、表前缀eb_。文中php think命令在backend/目录下执行;MCP 端点为。

evoxwht的博客 192

【银河麒麟】重启后时区丢失?排查发现 localtime 被业务程序替换成硬链接

银河麒麟V10服务器时区异常,重启后时区丢失,timedatectlshow无Timezone字段。排查发现/etc/localtime被替换为硬链接而非符号链接,导致systemd-timedated无法识别时区。通过启用Audit监控,定位到PHP进程aaa.php执行linkat系统调用创建硬链接。故障根源为业务程序误操作,建议程序维护方排查代码中文件操作逻辑,避免类似问题。

H15578730450的博客 234

网络优化有没有效果?如何对比实施前后的关键指标?

网络优化有没有效果,不能只靠主观感受,也不能只看某一次测速结果。更科学的做法是:优化前建立基线数据,优化后使用相同或尽可能接近的条件重新测试,再结合网络延迟、抖动、丢包率、业务响应时间和故障频率等指标进行综合判断。对于企业来说,网络优化最终要服务于实际业务。网络质量指标改善固然重要,但更值得关注的是员工访问业务系统是否更加稳定、关键操作是否更加流畅,以及网络故障是否得到有效控制。

ESDWAN的博客 546

本地化部署会议视频软件如何开展试点?试用范围、评估指标与推广步骤

试用范围覆盖真实差异,评估指标具有明确口径,推广过程具备放行和回退机制。对于政企、金融、医疗及信创项目,尤其要避免三个误区:把本地部署等同于合规,把演示并发等同于生产容量,把功能清单等同于可运维能力。如果正在准备试点,建议先整理一张“网络—终端—业务—故障”矩阵,再决定试用人数。

hz56789的博客 319

阿里云ESA缓存自动刷新的WordPress插件(含手动刷新)

WordPress用户若使用阿里云ESA缓存,常遇内容更新后页面未刷新问题。推荐免费插件“阿里云ESA缓存刷新插件”,支持发布/编辑文章时自动刷新文章页、首页、分类页、标签页(可自选),并可手动或批量刷新指定URL。安装启用后,在设置中填写ESA凭证,开启自动刷新,保存配置即可。验证方式:发布文章后查看阿里云ESA控制台刷新记录,确保缓存及时更新,提升网站访问效率。

boke112的博客 433

UOS lighttpd 与 PHP FastCGI:动态时间页面及验证

1. 服务介绍 lighttpd 是轻量 Web 服务器,负责接收HTTP请求、提供静态文件,并将PHP请求交给FastCGI后端处理。它不是Apache,配置检查、模块和日志路径应按lighttpd核对。本文完成原题动态时间页面,刷新时由服务端重新生成日期时间。 2. 准备运行环境 原实验UOS/Debian系,管理员权限、可用软件源、普通Web客户端;确

weixin_44524357的博客 219

二进制木马免杀-Python 分离免杀与 Web 挂马

二进制木马免杀-Python 分离免杀与 Web 挂马

2503_94637398的博客 267

网站的SQL 注入:从攻击原理到防御措施

SQL 注入(SQL Injection)是 Web 应用中最古老、危害最大的安全漏洞之一。简单来说就是攻击者通过在用户输入中注入了恶意的SQL 代码,让数据库执行非正常的操作,从而能窃取数据、篡改内容甚至控制整个服务器。SQL 注入虽然古老,但至今仍是 Web 安全的头号威胁。永远不要把用户输入直接拼进 SQL 语句。首选:使用 PDO/MySQLi 预处理语句 + 关闭模拟预处理配合:输入类型校验与格式验证加固:数据库最小权限 + 关闭错误回显外围:WAF + 定期安全扫描。

2501_94567985的博客 273

NIUCLOUD PHP SAAS上门家政使用文档--帮助反馈:帮助分类

​帮助分类功能用于管理平台帮助文档的分类体系。管理员可以通过此功能创建、编辑和删除帮助内容的分类,合理组织帮助文档结构,提高用户查找帮助信息的效率。

freedomhua的专栏 153
上一篇: poj 1330 Nearest Common Ancestors
下一篇: hdu 1269 迷宫城堡
dong12276
博客等级 码龄13年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值