- VUE 座位图功能+扩展
NUZGNAW
vue.jsjavascript前端
1、通过循环画出页面座位图0"style="display:table;margin:0auto;min-height:472px;position:relative;">{{i.sign}}2、画出右下角的预览图3、编写对应js方法watch:{seatList:{handler(newVal,oldVal){if(this.seatList&&!stringBlank(this.seatLis
- Unity 程序运行一段时间后Game界面出现黑屏的一种情况
zhannghong2003
Unityunity游戏引擎
经过排查,发现是Camera(相机)的Z轴一直变大导致的黑屏。造成这种情况的原因是代码:VMouseTransform.position=Camera.main.ScreenToWorldPoint(Input.mousePosition);Camera(相机)设置成为跟随VMouseTransform。所以会出现Z轴逐渐变大的情况,最后导致黑屏。改代码为:Vector2vMouseNeed=Ca
- 基于RSS与KNN的室内定位技术实现
火箭统
本文还有配套的精品资源,点击获取简介:室内定位技术对于智能建筑和物联网至关重要,在没有GPS信号的环境中尤其重要。RSS位置指纹法利用特定位置的无线信号强度来确定设备位置,而KNN算法能够基于信号强度找到最近的已知位置进行预测。本教程详细讲解了如何在MATLAB中通过”positioning_simulation.m”代码实现RSS位置指纹法与KNN算法的结合,涵盖数据预处理、算法实现、位置预测、
- 前端基础知识Vue3系列 - 04(Vue3.0 所采用的 Composition Api 与 Vue2.x 使用的 Options Api 有什么不同)
开始之前CompositionAPI可以说是Vue3的最大特点,那么为什么要推出CompositionApi,解决了什么问题?通常使用Vue2开发的项目,普遍会存在以下问题:代码的可读性随着组件变大而变差每一种代码复用的方式,都存在缺点TypeScript支持有限以上通过使用CompositionApi都能迎刃而解正文一、OptionsApiOptionsAPI,即大家常说的选项API,即以vue
- CSS基础(3)
Zzz_睡不醒
css前端html
CSS背景操作1.多重背景(MultipleBackgrounds)div{background-image:url(image1.png),url(image2.png);background-position:rightbottom,lefttop;background-repeat:no-repeat,repeat;background-size:auto,cover;}background
- 前端,元素的层级和背景
沦陷_99999
z-index.box1{width:200px;height:200px;background-color:#0bcd96;position:relative;z-index:3;}.box2{width:200px;height:200px;background-color:#1e389a;position:absolute;left:100px;top:100px;}.box3{width:
- 【vue-8】Vue3 Options API 生命周期函数全面解析
AllenBright
#Vuevue.js前端javascript
在Vue.js开发中,理解组件的生命周期是构建健壮应用程序的关键。虽然Vue3引入了CompositionAPI,但OptionsAPI仍然是许多开发者的首选,特别是对于从Vue2迁移的项目或更喜欢基于选项的代码组织的团队。本文将深入探讨Vue3中OptionsAPI的生命周期函数,帮助您掌握组件从创建到销毁的完整过程。1.生命周期概览Vue3的生命周期与Vue2相比有一些变化,主要是为了更好的支
- css设置背景图片透明度
.demo{position:relative;width:500px;height:300px;line-height:50px;text-align:center;color:red;}.demo::before{content:"";position:absolute;left:0;top:0;z-index:-1;/*放在内容背后*/width:500px;height:300px;bac
- 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | NotesApp(便签笔记组件)
sunbyte
TailiwindCSS实战指南笔记vue.js前端javascriptcsstailwindcss
我们继续50个小项目挑战!——NotesApp组件仓库地址:https://github.com/SunACong/50-vue-projects项目预览地址:https://50-vue-projects.vercel.app/。使用Vue3的CompositionAPI搭配TailwindCSS和marked库,构建一个支持Markdown渲染的笔记应用。该应用允许用户添加、编辑、删除笔记,并
- 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | GoodCheapFast(Good - Cheap - Fast三选二开关)
sunbyte
TailiwindCSS实战指南vue.jsjavascript前端tailwindcsscss
我们继续50个小项目挑战!——GoodCheapFast组件仓库地址:https://github.com/SunACong/50-vue-projects项目预览地址:https://50-vue-projects.vercel.app/。使用Vue3的CompositionAPI和TailwindCSS创建一个经典的交互式组件——“Good-Cheap-Fast”三选一开关控制。这个组件模拟了
- 微信小程序之自定义模态弹窗(带动画)实例-——-微信小程序实战系列(8)
.btn{width:80%;padding:20rpx0;border-radius:10rpx;text-align:center;margin:40rpx10%;background:#000;color:#fff;}/mask/.drawer_screen{width:100%;height:100%;position:fixed;top:0;left:0;z-index:1000;bac
- RoPE:相对位置编码的旋转革命——原理、演进与大模型应用全景
大千AI助手
人工智能Python#OTHER人工智能深度学习大模型算法RoPE位置编码相对位置
“以复数旋转解锁位置关系的本质表达,让Transformer突破长度藩篱”旋转位置编码(RotaryPositionEmbedding,RoPE)是由JianlinSu等研究者于2021年提出的突破性位置编码方法,通过复数空间中的旋转操作将相对位置信息融入Transformer的自注意力机制,解决了传统位置编码在长序列建模中的外推瓶颈。该方法是当前主流大模型(如LLaMA、GPT-NeoX)的核心
- Pytorch实现细节解析:Transformer模型的Encoder与Decoder逐行代码讲解
lazycatlove
pytorchtransformer人工智能
文章目录摘要一、Transformer1.1为什么要使用attention1.2Transformer的优点二、Transformer模型Encoder和Decoder原理讲解与其Pytorch逐行实现2.1wordembedding2.2单词索引构成源句子和目标句子2.3构建positionembedding2.4构造encoder的self-attentionmask2.5构造intra-at
- 【JQ】使用jq实现弹窗功能,弹窗加载外部页面内容
下页、再停留
前端技术前端javascript
目录一、需求:二、效果图三、实现代码前端:jquery:四、完整资源一、需求:使用原始jq,不借助插件、框架,实现弹窗,并且弹窗内容是外部页面,类似于layer.open的弹窗功能。二、效果图点击左上角“点击”按钮,弹出一个页面窗口。三、实现代码前端:.jq-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);b
- Mysql 索引下推(Index Condition Pushdown, ICP)详解
尘土哥
mysqlsql
索引下推(IndexConditionPushdown,ICP)什么是索引下推?索引下推(ICP)是MySQL5.6引入的一种优化技术,它允许在存储引擎层提前过滤数据,减少不必要的数据回表操作。工作原理对于辅助联合索引(name,age,position),传统查询流程(MySQL5.6之前):sqlSELECT*FROMemployeesWHEREnameLIKE'LiLei%'ANDage=2
- 72、iOS 控件与视图开发全解析
fox11
iOS开发控件定制UIButton
iOS控件与视图开发全解析1.分段控件定制分段控件(SegmentedControl)的定制无需针对每个状态进行,对于未指定的状态,它会使用.normal状态的设置。设置背景图像会改变分段控件的高度。在setContentPositionAdjustment方法中,segmentType:参数是必需的,因为默认情况下,两端的分段有圆角(如果只有一个分段,其两端都是圆角)。该参数(UISegment
- vue 中什么场景使用 export default 和setup()
在Vue3中,exportdefault和setup()的使用场景主要取决于你采用的组件开发模式(OptionsAPI或CompositionAPI)。以下是具体场景和用法:1.使用exportdefault的场景场景1:OptionsAPI组件传统开发模式:如果你使用Vue2风格的OptionsAPI(基于对象配置),组件的所有逻辑都通过data、methods、computed等选项定义。如何
- 函数 (lnx)‘=1/x 证明
weixin_43420126
数学基础知识微积分
matlab中绘制lnx与1/x函数图像(deepseek生成)%定义x的范围(x>0)x=linspace(0.00001,5,1000);%从0.00001开始避免无穷大%计算函数值y_log=log(x);%自然对数ln(x)y_inv=1./x;%反比例函数1/x%创建图形窗口figure('Color','white','Position',[100,100,800,600]);%绘制两
- 面向对象分析与设计40讲(7)设计原则之合成复用原则
奇妙之二进制
嵌入式/Linux#面向对象分析与设计合成复用原则软件开发设计
文章目录一、概念二、示例(C++实现)1.违反合成复用原则的示例(过度使用继承)2.遵循合成复用原则的示例(使用组合)三、总结1.继承是“强绑定”,组合是“弱关联”2.继承固化“静态结构”,组合支持“动态变化”3.继承放大“设计缺陷”,组合隔离“局部问题”一句话总结一、概念合成复用原则(CompositionReusePrinciple,CRP)是面向对象设计中的重要原则,核心思想是:优先使用对象
- MySQL设置外键
Repetition2020
mysql数据库
目录首先建主表1、设置主键自增长2、varchar(20),mySQL没有varchar3、防止中文乱码建附表1、外键:2、对已经建立的表设置主键3、设置外键:首先建主表createtableemp_position(enointauto_increment设置主键自增长enamevarchar(20)mySQL没有varcharesexvarchar(20),esalint,positionin
- NLP论文速读|chameleon:一个即插即用的组合推理模块Plug-and-Play Compositional Reasoning with Large Language Models
Power2024666
NLP论文速读自然语言处理人工智能机器学习深度学习nlp语言模型
论文速读|Chameleon:Plug-and-PlayCompositionalReasoningwithLargeLanguageModels论文信息:简介:该论文介绍了一个名为Chameleon的人工智能系统,旨在解决大型语言模型(LLMs)在处理复杂推理任务时存在的固有限制,例如无法访问最新信息、使用外部工具以及执行精确的数学和逻辑推理。Chameleon通过插入即用模块增强LLMs,使其
- HTML5+CSS3小实例:流星划过天际的动画效果
艾恩小灰灰
实例:流星划过天际的动画效果技术栈:HTML+CSS效果:源码:【html】流星划过天际的动画效果【css】*{/*初始化*/margin:0;padding:0;}body{/*100%窗口高度*/height:100vh;/*溢出隐藏*/overflow:hidden;}.container{/*绝对定位*/position:absolute;top:0;left:0;width:100%;h
- BERT模型架构
大多_C
bert人工智能深度学习
BertModel((embeddings):BertEmbeddings((word_embeddings):Embedding(30522,768,padding_idx=0)(position_embeddings):Embedding(512,768)(token_type_embeddings):Embedding(2,768)(LayerNorm):LayerNorm((768,),e
- Vue 3 组合式 API 中的组件生命周期函数详解
码力无边-OEC
Vuevue.js前端javascript前端框架web
Vue3组合式API中的组件生命周期函数详解Vue3引入了组合式API(CompositionAPI),相比于选项式API(OptionsAPI),它更加灵活且易于复用。在组件的开发中,生命周期函数是必不可少的一部分,用于在特定的阶段执行逻辑操作。本文将详细讲解Vue3组合式API的生命周期函数及其相关知识点,并通过语法糖实现相关示例。什么是生命周期函数?Vue组件从创建到销毁的过程中,会经历一系
- css实现箭头进度条
惜音renee
实现的目标:源码:首先写出一个基本的样式:买家下单买家付款发货买家确认收货.progress-barli{padding:0px20px;line-height:40px;background:#50abe4;display:inline-block;color:#fff;position:relative;width:180px;text-align:center;}接下来使用:after伪类画
- vue2解决页面重排滚动条问题
啥都不是的小白菜
前端javascripthtml
项目场景:项目场景:vue2问题描述例如:在一个卡片页面底部添加一条数据后,滚动条自动跑到了页面顶部去了:原因分析:可能是添加数据后页面重排导致的解决方案:提示:通过deepseek给出了一个较为高效的方案且不会干扰用户的正常滚动行为exportdefault{data(){return{scrollPosition:0};},beforeUpdate(){this.scrollPosition=
- Pinia 实战指南:Vue 3 状态管理的高效之道
做人不能太高调
vue.js前端javascript
1.给我来个系统学习Pinia的大纲学习Pinia作为Vue.js的状态管理库,可以按照以下大纲来系统地进行学习:1.Pinia入门Pinia简介什么是Pinia?Pinia是Vue3的官方状态管理库,是对Vuex的继承和改进。它通过提供更简洁和灵活的API,使得在Vue应用中管理全局状态变得更加容易。Pinia是专为Vue3设计的,基于CompositionAPI,允许开发者以更加模块化和简洁的
- 【TypeScript学习笔记】TypeScript 核心知识点
Zaly.
Vue学习笔记typescript学习笔记
目录前言TypeScript核心概念基本类型与高级类型常用内置工具类型类型断言与类型守卫TypeScript在Vue3中的应用Vue3中TypeScript的作用范围Props和Emits的类型定义CompositionAPI中的类型支持前言TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编
- 微信小程序软键盘弹出的问题
结城
javascript小程序
微信小程序软键盘弹出的问题这里记录一个微信中开发的一个小问题,1.当我开发这个页面功能的时候在缩小的状态正常情况聚焦时在手机上会有一个软键盘弹出来完全遮住了我textarea输入框2.遮住状态这个时候我们还发现页面被顶了上去,头部的导航栏没有了3.解决问题html部分/防止页面被顶我们使用adjust-position属性js部分//并且加入失去焦点,得到焦点事件,通过bindfocus事件对象我
- vue3 路由设置滚动条置顶
开源字节
vue大前端vuerouterroute
constrouter=createRouter({history:createWebHistory(),routes,//跳转路由后导航栏置顶scrollBehavior(to,from,saveScrollPosition){return{left:0,top:0};},});
- 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节点最多