当前位置: 首页 > news >正文

线段树建图

对于一个图,n个节点,有向边,求点s到其他所有点的最短路。

题目给的边的方式:

u -> v

[l,r] -> v

v -> [l,r]

这样的话边数是O(n^2)级别的,怎么做?

假设把[1,n]建成segment tree 后,有tot个节点。

则建一个新图,新图有2 * tot + n个节点

新图多了2 * tot个节点,表示2棵线段树A,B

点的编号分类:

A - [1,tot]

B - [tot + 1,2 * tot]

C - [2 * tot + 1,2 * tot + n]

tree内节点:

A - 表示第1个线段树的点,由父节点向子节点连边,权为0

B - 表示第2个线段树的点,由子节点向父节点连边,权为0

叶节点:

A - 点x向原图对应的点连边,权为0,即x -> 2 * tot + x

B - 原图对应的点向点x连边,权为0,即2 * tot + x -> x + tot

在转换原图的边的时候:

u -> v   在C对应的节点连  

v -> [l,r] C连向A中[l,r]对应节点 

[l,r] -> v B中[l,r]对应节点连向C 

 

转载于:https://www.cnblogs.com/-maybe/p/6637696.html

相关文章:

  • C#编程(七十六)----------使用指针实现基于栈的高性能数组
  • CSS-样式表的分类以及选择器的分类
  • childNodes与children
  • 发现一个很N且免费的html5拓扑图 关系图 生成组件
  • I2S
  • Oracle11g表空间导入dmp数据
  • Ambari里如何删除某指定的服务(图文详解)
  • CP-ABE ToolKit 安装笔记
  • js数组去重的三种常用方法总结
  • DPDK QoS之分层调度器
  • 对于文本框的验证(考虑兼容问题)
  • 114. Flatten Binary Tree to Linked List (leetcode)
  • 大数据与应用统计学的区别与联系
  • 在ElasticSearch中使用 IK 中文分词插件
  • Ubuntu 16.04 中安装谷歌 Chrome 浏览器
  • 时间复杂度分析经典问题——最大子序列和
  • 【comparator, comparable】小总结
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • HomeBrew常规使用教程
  • java2019面试题北京
  • mysql 5.6 原生Online DDL解析
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • SQLServer之创建显式事务
  • Unix命令
  • webgl (原生)基础入门指南【一】
  • 对JS继承的一点思考
  • 仿天猫超市收藏抛物线动画工具库
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 十年未变!安全,谁之责?(下)
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 用Canvas画一棵二叉树
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • # 飞书APP集成平台-数字化落地
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • ###C语言程序设计-----C语言学习(3)#
  • #git 撤消对文件的更改
  • #Linux(make工具和makefile文件以及makefile语法)
  • $.ajax()方法详解
  • (2.2w字)前端单元测试之Jest详解篇
  • (3)选择元素——(17)练习(Exercises)
  • (solr系列:一)使用tomcat部署solr服务
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)一些感悟
  • (状压dp)uva 10817 Headmaster's Headache
  • .jks文件(JAVA KeyStore)
  • .NET gRPC 和RESTful简单对比
  • .NET Micro Framework初体验(二)
  • .NET 分布式技术比较
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET/C# 使用反射注册事件