- Hive使用必知必会系列
王知无(import_bigdata)
Hive系统性学习专栏hivebigdatahdfs
一、Hive的几种数据模型内部表(Table将数据保存到Hive自己的数据仓库目录中:/usr/hive/warehouse)外部表(ExternalTable相对于内部表,数据不在自己的数据仓库中,只保存数据的元信息)分区表(PartitionTable将数据按照设定的条件分开存储,提高查询效率,分区----->目录)桶表(BucketTable本质上也是一种分区表,类似hash分区桶---->
- Milvus 实战全流程
学习路径总览1.Milvus基础知识什么是向量数据库?Milvus的核心概念(collection、field、index、partition、segment)Milvus和Faiss、Annoy、HNSW的区别2.安装与部署Docker快速部署Milvus(推荐)本地开发环境安装使用MilvusLite本地测试3.数据建模与管理创建Collection与Schema定义(包含向量字段和元数据字段
- 《剑指offer》-算法篇-排序
小新学习屋
数据结构与算法算法leetcode职场和发展数据结构与算法
题目最小的K个数数组中的逆序对代码实现最小的K个数题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。思路:按照各种排序算法,找到排序结果的前K个数。思路1:最简单的方案,对数组进行排序,取最小的k个思路2:借鉴快速排序的思想,找partition的基准点povit,比较povit和k值的大小思路3:大数据处理的思想,
- kafka的消息存储机制和查询机制
不辉放弃
kafka大数据开发数据库pyspark
Kafka作为高性能的分布式消息队列,其消息存储机制和查询机制是保证高吞吐、低延迟的核心。以下从存储机制和查询机制两方面详细讲解,包含核心原理、关键组件及工作流程。一、Kafka消息存储机制Kafka的消息存储机制围绕高可用、高吞吐、可扩展设计,核心是通过分区、副本、日志分段和索引实现高效存储与管理。1.基本组织单位:主题(Topic)与分区(Partition)主题(Topic):消息的逻辑容器
- 组合问题(分割字符串)
limitless_peter
算法
131.分割回文串-力扣(LeetCode)classSolution{private:vector>result;vectorpath;voidbacktracking(string&s,intstartIndex){if(startIndex>=s.size()){result.push_back(path);return;}for(inti=startIndex;i>partition(st
- Kafka消费者负载均衡策略
⼀个消费者组中的⼀个分⽚对应⼀个消费者成员,他能保证每个消费者成员都能访问,如果组中成员太多会有空闲的成员Kafka消费者负载均衡策略详解从分区分配算法到Rebalance机制,全面解析Kafka如何实现消费者间的负载均衡,并提供调优建议和问题解决方案。1.核心概念术语作用类比ConsumerGroup共享消费任务的消费者组外卖骑手团队PartitionTopic的物理分片配送区域划分Rebala
- 力扣-416.分割等和子集
题目链接416.分割等和子集classSolution{publicbooleancanPartition(int[]nums){intsum=0;for(inti=0;i=0;j--){if(j-nums[i]>=0){//更新dp[j]:比较不放入当前数字和放入当前数字两种情况dp[j]=Math.max(dp[j],dp[j-nums[i]]+nums[i]);}}}returndp[tar
- Hive的窗口函数
VictorWuuu
hivehadoop数据仓库
Hive的窗口函数(WindowFunctions)是其SQL功能的核心亮点之一,用于在分组数据上执行计算,同时保留原始表的行数(不压缩分组)。窗口函数特别适用于排名分析、趋势计算、移动统计等复杂场景,是处理时间序列数据和多维分析的利器。一、窗口函数的核心概念窗口函数的语法结构:function_name(arg1,arg2...)OVER([PARTITIONBYcol1,col2...]--分
- oracle 分区表 变大,Oracle11G新特性:分区表分区默认segment大小64k变为8M
阳光下的少年
oracle分区表变大
Oracle11G新特性:分区表分区默认segment大小64k变为8M2017-02-08在oracle11.2创建分区表,每个分区默认大小为8M,是由_partition_large_extents参数控制,可以算是11.2.0.2开始的一个新特性,为了减少extent数量,提高分区表性能,而设置的一个参数,默认为true,即分区表的每个extent为8M,和oracle10g相比,会导致同样
- 日入一词_120 present [verb]
cppUncleSix
ThischapterpresentedabriefoverviewofSQLServerpartitioning,includinganintroductiontothekeyconceptsandtermsneededtogainageneralunderstandingofthepartitioningprocess.verb/prɪˈzɛnt/1togivesomethingtosomeo
- 初等数论Ⅱ
christ_lrs
学习笔记数论
Bylby学长2025.7.13讲课记录insmskySummerCamp目录大步小步算法(BSGS)例题T1[TJOI2007]可爱的质数T2[SDOI2011]计算器T3SPOJ3105ModStirling数第二类Stirling数第一类Stirling数Stirling数与幂例题T1CF932ETeamWorkT2CF961GPartitionsT3CF1278FCards大步小步算法(B
- Postgres中窗口函数lag以lead
午天
it数据库postgrespostgres窗口函数数据库lag函数
sql中我们经常会用到聚合函数,聚合之后它会减少数据量,但是如果我们想把聚合之后的数据和原始数据同时展示出来,那么我们需要用到窗口函数。lag窗口函数通过条件把数据划分成子类,在子类中进行排序窗口函数的通用写法selectname,orderdate,cost,sum(cost)over(partitionbyextract(monthfromorderdate)orderbyorderdate)
- Apache Ignite 的 SQL 功能和分布式查询机制
这段内容讲的是ApacheIgnite的SQL功能和分布式查询机制。我们可以从几个关键点来理解:一、Ignite是一个分布式SQL数据库✅特点:符合ANSI-99SQL标准水平扩展(可扩展到多个节点)容错(fault-tolerant)支持两种数据分布方式:分区(Partitioned):数据分布在多个节点上复制(Replicated):每个节点都有完整数据副本二、SQL功能支持✅DML语句:Ig
- Apache Ignite 长事务终止机制
lang20150928
其他apacheIgnite
这段内容讲的是ApacheIgnite中长事务终止机制(LongRunningTransactionsTermination),特别是关于分区映射交换(PartitionMapExchange)与事务超时设置(TransactionTimeout)之间的关系。下面我将从几个方面来帮助你理解:一、什么是PartitionMapExchange?在Ignite集群中,数据是按照分区(Partition
- Spark RDD 之 Partition
博弈史密斯
SparkRDD怎么理解RDD的粗粒度模式?对比细粒度模式SparkRDD的task数量是由什么决定的?一份待处理的原始数据会被按照相应的逻辑(例如jdbc和hdfs的split逻辑)切分成n份,每份数据对应到RDD中的一个Partition,Partition的数量决定了task的数量,影响着程序的并行度支持保存点(checkpoint)虽然RDD可以通过lineage实现faultrecove
- Milvus向量数据库集合操作初尝试
麦克阿建
milvus
目录1.集合(Collection)2.字段(Field)3.索引(Index)4.分区(Partition)5.实体(Entity)6.代码示例6.1集合创建6.2向量插入6.3向量查询6.4向量删除1.集合(Collection)集合是Milvus中存储数据的最基本单元。它类似于数据库中的一个表(table)。集合定义了数据的整体结构,包括数据类型、字段、索引等。作用:集合是你数据的容器,用来
- Saprk中RDD詳解
文子轩
一.常用的transfromRDD算子通過並行化scala創建RDDvalrdd1=sc.parallelize(Array(1,2,3,4,5,6,7,8))查看該RDD的分區數量rdd1.partitions.lengthres23:Int=4使用filter算子valrdd2=sc.parallelize(List(5,6,4,7,3,8,2,9,1,10)).map(*2).sortBy(
- pattern of distributed system 读书笔记- Patterns of Data Partitioning
1FixedPartitions1.1Problem1.1.1requirementsformappingdatatotheclusternodes.Thedistributionshouldbeuniform.Itshouldbepossibletoknowwhichclusternodestoresaparticulardataitemwithoutmakingarequesttoallthe
- Paimon:Range Partition and Sort优化无主键表(Append-Only Table)查询
lifallen
Paimon数据库大数据数据结构javaapache
这个优化是通过对数据进行全局排序,从而让查询时能够跳过大量不相关的数据文件(DataSkipping),极大地减少I/O,提升查询速度。只需要在执行INSERT语句时,通过OPTIONSHint来启用和配置这个功能即可。RangePartitionAndSortForUnawareBucketTableITCase测试文件本身就是最好的例子。比如测试中的这句SQL:INSERTINTOtest_t
- 低版本hive(1.2.1)UDF实现清除历史分区数据
༺水墨石༻
hivehiveUDFhivehadoop数据仓库
目标:通过UDF实现对表历史数据清除入参:表名、保留天数N一、pom文件4.0.0com.examplehive-udf-example1.0-SNAPSHOTjarhive-udf-exampleHiveUDFfordeletingpartitionsbydateUTF-81.81.8org.apache.hivehive-exec1.2.1org.apache.hivehive-metasto
- 弄清Doris/StarRocks分区partition by和分桶distributed by的区别,以及如何选择对应的字段
一、首先,我们先弄清楚数据表中的数据是怎么分布的数据分布建表时,您需要通过设置分区和分桶,指定数据分布方式,并且建议您合理设置分区和分桶,实现数据均匀的分布。数据分布是指数据划分为子集,并按一定规则均衡地分布在不同节点上,能够有效裁剪数据扫描量,最大限度地利用集群的并发性能,从而提升查询性能。数据分布概览常见的数据分布方式现代分布式数据库中,常见的数据分布方式有如下四种:Round-Robin、R
- MySQL窗口函数学习
小菜0-o
mysql学习java
视频链接基本语法窗口限定一个范围,它可以理解为满足某些条件的记录集合,窗口函数也就是在窗口范围内执行的函数。基本语法窗口函数有over关键字,指定函数执行的范围,可分为三部分:分组子句(partitionby),排序子句(orderby),窗口子句(rows)over(partitionbyorderbyrowsbetweenand)窗口函数适用于在不破坏原有表结构的基础上,新增一列窗口的确定分组
- kafka partition分配_走近kafka-Partition分配与消息可靠性
编辑部小李
kafkapartition分配
Kafka的高可用源于其多个副本(replication)。拥有多个副本,那么带来的问题就是数据怎么同步。我们都知道数据是存放在partition物理目录下的文件里面。通过前面几节的介绍,我们也知道消息过来后直接跟partitionleader交互,然后由leader进行数据同步。由于partition的replication机制,在kafka看来partition不分leader和followe
- kafka单个生产者向具有多个partition的topic写数据(写入分区策略)
最近碰到生产环境现象一个flink程序单并行度(一个生产者),对应topic为8分区。每个分区都能消费到生产出的数据。整理知识点如下生产者写入消息到topic,kafka将依据不同的策略将数据分配到不同的分区中1.轮询分区策略2.随机分区策略3.按key分区分配策略4.自定义分区策略1.1轮询分区策略默认的策略,也是使用最多的策略,可以最大限度的保证所有消息平均分配到分区里面如果在生产消息时,ke
- Kafka 数据倾斜原因、影响与权威解决方案
一、数据倾斜的概念在Kafka环境中,数据倾斜是指数据在主题(Topic)的各个分区(Partition)之间分布不均匀的状况。理想情况下,分区设计期望数据能在各个分区均衡分布,如此一来,消费者组内的消费者便可均衡地从不同分区消费数据,从而充分利用系统资源实现高效并行处理。但当数据倾斜发生时,部分分区会承载大量数据,而其他分区的数据量则相对较少。二、数据倾斜产生的原因(一)生产者端原因分区键(Pa
- Flume到Kafka且均分到多个partition
小学僧来啦
FlumeKafkapartitionFlume
@Author:Spinach|GHB@Link:http://blog.csdn.net/bocai8058文章目录说明情况解决方法说明情况Flume向kafka发布数据时,发现kafka接收到的数据总是在一个partition中,而我们希望发布来的数据在所有的partition平均分布。应该怎么做呢?解决方法Flume的官方文档是这么说的:KafkaSinkusesthetopicandkey
- kafka如何让消息均匀的写入到每个partition
野老杂谈
全网最全IT公司面试宝典kafka分布式
在Kafka中,要实现消息均匀写入每个partition,核心是通过合理的分区分配策略让消息在partition间均衡分布。具体机制和实践方式如下:一、Kafka默认的分区分配逻辑(核心机制)Kafka生产者发送消息时,通过Partitioner接口(默认实现为DefaultPartitioner)决定消息写入哪个partition,核心逻辑如下:指定partition时若发送消息时显式指定了pa
- 3-Kafka常用指令
sql2008help
kafka分布式
Kafka常用指令大全一、Topic管理命令功能示例创建Topic指定分区和副本数kafka-topics.sh--create--bootstrap-serverlocalhost:9092--topictest--partitions3--replication-factor2查看Topic列表列出所有Topickafka-topics.sh--bootstrap-serverlocalhos
- 【Kafka】Kafka Producer 分区-05
boy快快长大
中间件kafka分布式
【Kafka】KafkaProducer分区-051.分区的好处2.分区策略2.1默认的分区器DefaultPartitioner3.自定义分区器1.分区的好处(1)便于合理使用存储资源,每个Partition在一个Broker上存储,可以把海量的数据按照分区切割成一块一块数据存储在多台Broker上。合理控制分区的任务,可以实现负载均衡的效果。(2)提高并行度,生产者可以以分区为单位发送数据;消
- 各服务日志: Grok正则解析
根哥的博客
Linux系统Elasticsearchlogstash正则表达式
各类日志样例服务类型日志格式Java应用:如Kafka/ES[2025-04-2911:21:12,395]INFO[Logpartition=ck-1,dir=/opt/kafka_2.13-2.8.1/data]Incrementedlogstartoffsetto3591510004duetosegmentdeletion(kafka.log.Log)Tomcat27-Apr-202514:
- C/C++Win32编程基础详解视频下载
择善Zach
编程C++Win32
课题视频:C/C++Win32编程基础详解
视频知识:win32窗口的创建
windows事件机制
主讲:择善Uncle老师
学习交流群:386620625
验证码:625
--
- Guava Cache使用笔记
bylijinnan
javaguavacache
1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。
实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。
2.Guava
- 解决ora-01652无法通过128(在temp表空间中)
0624chenhong
oracle
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
分析过程:
既然是temp表空间有问题,那当
- Struct在jsp标签
不懂事的小屁孩
struct
非UI标签介绍:
控制类标签:
1:程序流程控制标签 if elseif else
<s:if test="isUsed">
<span class="label label-success">True</span>
</
- 按对象属性排序
换个号韩国红果果
JavaScript对象排序
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
- 大数据分析让个性化的客户体验不再遥远
蓝儿唯美
数据分析
顾客通过多种渠道制造大量数据,企业则热衷于利用这些信息来实现更为个性化的体验。
分析公司Gartner表示,高级分析会成为客户服务的关键,但是大数据分析的采用目前仅局限于不到一成的企业。 挑战在于企业还在努力适应结构化数据,疲于根据自身的客户关系管理(CRM)系统部署有效的分析框架,以及集成不同的内外部信息源。
然而,面对顾客通过数字技术参与而产生的快速变化的信息,企业需要及时作出反应。要想实
- java笔记4
a-john
java
操作符
1,使用java操作符
操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不用,但是效果是相同的。加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的
- 从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序
aijuans
嵌入式学习
笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为基于Linux操作系统编程,讲这个思想转变的书几乎没有,让初学者走了很多弯路,撞了很多难墙。
笔者因此写上自己的学习心得,希望能给和我一样转变
- 在springmvc中解决FastJson循环引用的问题
asialee
循环引用fastjson
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import co
- ArrayAdapter和SimpleAdapter技术总结
百合不是茶
androidSimpleAdapterArrayAdapter高级组件基础
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this
- 九封信
bijian1013
人生励志
有时候,莫名的心情不好,不想和任何人说话,只想一个人静静的发呆。有时候,想一个人躲起来脆弱,不愿别人看到自己的伤口。有时候,走过熟悉的街角,看到熟悉的背影,突然想起一个人的脸。有时候,发现自己一夜之间就长大了。 2014,写给人
- Linux下安装MySQL Web 管理工具phpMyAdmin
sunjing
PHPInstallphpMyAdmin
PHP http://php.net/
phpMyAdmin http://www.phpmyadmin.net
Error compiling PHP on CentOS x64
一、安装Apache
请参阅http://billben.iteye.com/admin/blogs/1985244
二、安装依赖包
sudo yum install gd
- 分布式系统理论
bit1129
分布式
FLP
One famous theory in distributed computing, known as FLP after the authors Fischer, Lynch, and Patterson, proved that in a distributed system with asynchronous communication and process crashes,
- ssh2整合(spring+struts2+hibernate)-附源码
白糖_
eclipsespringHibernatemysql项目管理
最近抽空又整理了一套ssh2框架,主要使用的技术如下:
spring做容器,管理了三层(dao,service,actioin)的对象
struts2实现与页面交互(MVC),自己做了一个异常拦截器,能拦截Action层抛出的异常
hibernate与数据库交互
BoneCp数据库连接池,据说比其它数据库连接池快20倍,仅仅是据说
MySql数据库
项目用eclipse
- treetable bug记录
braveCS
table
// 插入子节点删除再插入时不能正常显示。修改:
//不知改后有没有错,先做个备忘
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove
- 编程之美-电话号码对应英语单词
bylijinnan
java算法编程之美
import java.util.Arrays;
public class NumberToWord {
/**
* 编程之美 电话号码对应英语单词
* 题目:
* 手机上的拨号盘,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,
* 要求对一段数字,输出其代表的所有可能的字母组合
- jquery ajax读书笔记
chengxuyuancsdn
jQuery ajax
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
- JWFD工作流拓扑结构解析伪码描述算法
comsci
数据结构算法工作活动J#
对工作流拓扑结构解析感兴趣的朋友可以下载附件,或者下载JWFD的全部代码进行分析
/* 流程图拓扑结构解析伪码描述算法
public java.util.ArrayList DFS(String graphid, String stepid, int j)
- oracle I/O 从属进程
daizj
oracle
I/O 从属进程
I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会
- 高级排序:希尔排序
dieslrae
希尔排序
public void shellSort(int[] array){
int limit = 1;
int temp;
int index;
while(limit <= array.length/3){
limit = limit * 3 + 1;
- 初二下学期难记忆单词
dcj3sjt126com
englishword
kitchen 厨房
cupboard 厨柜
salt 盐
sugar 糖
oil 油
fork 叉;餐叉
spoon 匙;调羹
chopsticks 筷子
cabbage 卷心菜;洋白菜
soup 汤
Italian 意大利的
Indian 印度的
workplace 工作场所
even 甚至;更
Italy 意大利
laugh 笑
m
- Go语言使用MySQL数据库进行增删改查
dcj3sjt126com
mysql
目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势成为了很多Web开发的后端数据库存储引擎。MySQL驱动Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:
http://code.google.c...o-mysql-dri
- git命令
shuizhaosi888
git
---------------设置全局用户名:
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "
[email protected]" //设置邮箱
---------------查看环境配置
git config --li
- qemu-kvm 网络 nat模式 (四)
haoningabc
kvmqemu
qemu-ifup-NAT
#!/bin/bash
BRIDGE=virbr0
NETWORK=192.168.122.0
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DHCPRANGE=192.168.122.2,192.168.122.254
TFTPROOT=
BOOTP=
function check_bridge()
- 不要让未来的你,讨厌现在的自己
jingjing0907
生活 奋斗 工作 梦想
故事one
23岁,他大学毕业,放弃了父母安排的稳定工作,独闯京城,在家小公司混个小职位,工作还算顺手,月薪三千,混了混,混走了一年的光阴。 24岁,有了女朋友,从二环12人的集体宿舍搬到香山民居,一间平房,二人世界,爱爱爱。偶然约三朋四友,打扑克搓麻将,日子快乐似神仙; 25岁,出了几次差,调了两次岗,薪水涨了不过百,生猛狂飙的物价让现实血淋淋,无力为心爱银儿购件大牌
- 枚举类型详解
一路欢笑一路走
enum枚举详解enumsetenumMap
枚举类型详解
一.Enum详解
1.1枚举类型的介绍
JDK1.5加入了一个全新的类型的”类”—枚举类型,为此JDK1.5引入了一个新的关键字enum,我们可以这样定义一个枚举类型。
Demo:一个最简单的枚举类
public enum ColorType {
RED
- 第11章 动画效果(上)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
ljf_home
eclipsejsp卡死js卡死
使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下:
1、取消验证
windows–>perferences–>validation
把 除了manual 下面的全部点掉,build下只留 classpath dependency Valida
- MySQL编程中的6个重要的实用技巧
tomcat_oracle
mysql
每一行命令都是用分号(;)作为结束
对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:
mysql_query("INSERT INTO tablename(first_name,last_name)VALUES('$first_name',$last_name')");
- zoj 3820 Building Fire Stations(二分+bfs)
阿尔萨斯
Build
题目链接:zoj 3820 Building Fire Stations
题目大意:给定一棵树,选取两个建立加油站,问说所有点距离加油站距离的最大值的最小值是多少,并且任意输出一种建立加油站的方式。
解题思路:二分距离判断,判断函数的复杂度是o(n),这样的复杂度应该是o(nlogn),即使常数系数偏大,但是居然跑了4.5s,也是醉了。 判断函数里面做了3次bfs,但是每次bfs节点最多