- [Go] slice切片详解
切片详解切片的实现Go中的切片本质上是一个结构体,包含以下三个部分:指向底层数组的指针(array):切片指向一个底层数组,数组中存储着切片的数据。切片的长度(len):切片中当前元素的个数。切片的容量(cap):底层数组的总容量,即底层数组能够存储的元素个数。typeslicestruct{arrayunsafe.Pointerlenintcapint}切片的扩容切片在添加元素(如append操
- JDK 8 AtomicIntegerArray 源码详解(详细注释版)
csdn_tom_168
源码学习JUC并发包javaAtomicIntegerArray源码学习
JDK8AtomicIntegerArray源码详解(详细注释版)1.类定义和基本属性publicclassAtomicIntegerArrayimplementsjava.io.Serializable{//序列化版本号privatestaticfinallongserialVersionUID=2862133569453604235L;/***Unsafe类实例,提供底层的原子操作*通过Uns
- JDK 8 AtomicLongArray 源码详解(详细注释版)
csdn_tom_168
源码学习JUC并发包javaAtomicLongArrayJUC源码学习
JDK8AtomicLongArray源码详解(详细注释版)1.类定义和基本属性publicclassAtomicLongArrayimplementsjava.io.Serializable{//序列化版本号privatestaticfinallongserialVersionUID=-2308431214976778248L;/***Unsafe类实例,提供底层的原子操作*通过Unsafe可以
- VS系列编译器对函数不安全报错的解决办法
考研小昂
安全c#c++
1.定义预定义符号_CRT_SECURE_NO_WARNINGS错误信息:errorC4996:'scanf':Thisfunctionorvariablemaybeunsafe.Considerusingscanf_sinstead.Todisabledeprecation,use_CRT_SECURE_NO_WARNINGS.Seeonlinehelpfordetails.意为:scanf函数
- C#(数据类型)
慢慢沉
C#c#
C#数据类型详解C#的数据类型分为值类型和引用类型两大类,系统还提供了指针类型(需在unsafe上下文使用)。以下是详细分类和说明:一、值类型(直接存储数据)简单类型整数类型:sbyte:8位有符号整数,范围:$-128$到$127$byte:8位无符号整数,范围:$0$到$255$short:16位有符号整数,范围:$-32,768$到$32,767$ushort:16位无符号整数,范围:$0$
- C# 安全高效玩转内存:深入剖析 Span 的本质
bpluo42657
算法
在C#开发中,你是否曾为以下问题困扰?需要处理多种内存(数组、栈内存、非托管内存)但写法各异大量数组切片操作导致复制开销使用unsafe指针时如履薄冰Span正是为解决这些问题而生的利器!它提供了一种统一、安全且高效的内存操作方式。一、Span的本质:内存的“安全视图”Span的核心价值在于它自身不拥有内存,而是为现有内存提供类型安全且高性能的视图。csharp//1.基于数组的视图byte[]b
- 直接内存溢出
p&f°
JVMjvm
一、什么是直接内存直接捏成是一块由操作系统直接管理的内存,也叫堆外内存可以使用Unsafe或ByteBuffer分配直接内存可用-XX:MaxDirectMemorySize控制,默认是0,表示不限制二、为什么使用直接内存直接内存vs堆内存io效率高推荐参考:Java直接内存与非直接内存性能测试-阿里云开发者社区三、什么场景使用直接内存1有很大的数据需要存储,它的生命周期又很长2适合频繁的IO操作
- Kotlin 泛型 | 01. 基础
一、泛型1.1含义参数化类型,用尖括号这种方式表示,如、、等。比如:方法的参数一般指定具体类型,如果把参数的类型也参数化,那这就是泛型本尊了。interfaceList:Collection{overridefuncontains(element:@UnsafeVarianceE):Boolean}总的来说,泛型本质就是参数化类型,这种类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、
- 【Rust日报】使用Rust开发分布式系统的经验教训
Fjall-一个安全Rust的KV存储引擎Fjall是一个可嵌入的基于LSM的forbid-unsafeRust键值存储引擎。它的目标是成为一个可靠且可预测但性能优异的通用KV存储引擎,适用于小型数据集,尤其是大于内存大小的数据集。我刚刚发布了1.0版本,该版本稳定了其数据格式,适用于所有未来的1.x.x版本。它的设计受到了LevelDB/RocksDB架构的重大影响,并且通常具有相似的性能。它具
- Socket对象
cfqq1989
C#以太网c#
构造3个enum枚举publicSocket(SocketType插座类型,ProtocolType协议类型)【819】:this(AddressFamily.InterNetworkV6,socketType,protocolType)。publicSocket(AddressFamily地址家庭,SocketType插座类型,ProtocolType协议类型)。publicunsafeSock
- (k8s) Dashboard+国产kuboard(好用)+简单命令
小刘同学....
kubernetesdockerlinux
可视化部署Dashboard昨天做一主两从飞高可用,出现浏览器那一行,是为啥thisisunsafekubectlget获取资源podnodesvc-A所有名称空间-n指定名称空间-w动态显示kubectledit资源podnodesvc官方的,毛坯房国产在哪找的资源?访问看service可以管理多个k8s集群命令补全一下学习命令状态kubectlgetpod#默认名称空间中的所有pod-A所有名
- VSCode插件下载失败
凡。。。296
vscodeide编辑器
点击设置,搜索框输入security.workspace.trust.unsafeDL将下面按钮关闭,如下图之后关掉vscode,重新打开,重新下载插件即可
- Go的数据结构与算法-----实现可变长数组
Go达人
开发语言golanggo
切片在Golang中,数组长度是不可变的,那么我们可以自己实现简单的可变长数组。在Golang里面切片slice里就运用了可变长数组,slice是对底层数组的抽象和控制。那么我们先看看slice的结构体typeslicestruct{arrayunsafe.Pointer//表示任何类型的指针lenint//长度capint//容量}unsafe.Pointer是Go语言中的一个特殊类型,用于表示
- 零基础在实践中学习网络安全-皮卡丘靶场(第八期-Unsafe Filedownload模块)
恰薯条的屑海鸥
零基础学网安-皮卡丘靶场学习web安全网络安全学习网络安全安全
这期内容更是简单和方便,毕竟谁还没在浏览器上下载过东西,不过对于url的构造方面,可能有一点问题,大家要多练手介绍不安全的文件下载概述文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后会开始执行下载代码,将该文件名对应的文件response给浏览器,从而完成下载。如果后台在收到请求的文件名后,将其直
- Kotlin by关键字
️ 邪神
Kotlin
委托的概念委托是一种设计模式,它的基本概念是:操作对象自己不会去处理某段逻辑,而是会把工作委托给另外一个辅助对象去处理。classNewList(privatevallist:MutableList){funisEmpty()=list.isEmpty()funadd(item:@UnsafeVarianceT)=list.add(item)funremove(item:@UnsafeVarian
- 零基础在实践中学习网络安全-皮卡丘靶场(第十一期-目录遍历模块)
恰薯条的屑海鸥
学习web安全安全网络安全学习渗透测试
经过前面几期的内容我们学习了很多网络安全的知识,而这期内容就涉及到了前面的第六期-RCE模块,第七期-Fileinclusion模块,第八期-UnsafeFiledownload模块。什么是"遍历"呢:对学过一些开发语言的朋友来说应该知道,对于不了解的朋友来说,只要知道"遍历"类似于:比如说你有一筐鸡蛋,想要看看有没有坏的鸡蛋,就要一个一个地拿起来,仔细检查每个鸡蛋是否有裂缝或者闻起来有没有臭味。
- Vue3 引用百度地图部署到服务器,地图展示不出来。
牵只蜗牛去跑步
服务器前端
浏览器报错信息:becauseitviolatesthefollowingContentSecurityPolicydirective:"script-src*'unsafe-inline''unsafe-eval'".Notethat'worker-src'wasnotexplicitlyset,so'script-src'isusedasafallback.Notethat'*'matches
- 每日八股文5.30
UGOTNOSHOT
每日八股#Gogolang
每日八股-5.30Go1.Golang中的select语句2.Select的用途(单次,随机执行完一个case即结束)3.For-select的使用(多次,直到收到done信号或quit信号才return)4.Context5.Context的用途6.Go程序启动时发生了什么?7.数据竞争gorace7.Go语言实现优雅退出8.uintptr和unsafe.Pointer的区别9.Go语言的限流G
- node开发帮助文档
猫328
前端javascript开发语言
Buffer每个元素大小为1字节,类似于数组Buffer.alloc()创建一个Buffer参数1:字节数Constbuf_1=Buffer.alloc(10)Buffer.allocUnsafe()创建一个Buffer参数1:字节数Constbuf_1=Buffer.allocUnsafe(10)Buffer.from()字符串转Bufferconstbuf_3=Buffer.from('ilo
- 关于 React 的面试题及其解析
HappyAcmen
前端技术面试react.js前端前端框架
文章目录1.什么是React(概念)?2.React组件有哪些类型?3.什么是JSX?4.如何创建React组件?5.React中的state是什么?6.props与state的区别是什么?7.受控组件与非受控组件的区别?8.React组件的生命周期包括哪些阶段?9.常用的生命周期方法有哪些?10.React16.3之后哪些生命周期方法被标记为UNSAFE?11.什么是高阶组件(HOC)?12.R
- Golang 切片slice源码走读
记录学习的点滴
golang算法开发语言
切片slice是golang中非常经典的数据结构,其定位可以类比其他语言中的动态数组。切片中的元素存放在一块内存地址连续的区域,使用索引可以快速检索到指定位置的元素;切片长度和容量是可变的,在使用过程中可以根据需要进行扩容。本文对应的Golang版本是1.21.9数据结构//src/runtime/slice.gotypeslicestruct{arrayunsafe.Pointerlenintc
- Go :验证使用数字常量时检测到溢出(附完整源码)
源代码大师
go语言完整教程golang前端
Go:验证使用数字常量时检测到溢出packagemainimport"unsafe"typeIinterface{}const(//assumealltypesbehavesimilarlytoint8/uint8Int8int8=101Minus1int8=-<
- 无法访问此网站网址为 http://localhost:6000/xxx 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。 ERR_UNSAFE_POR
徒步的Code
错误笔记网络web安全springboot安全
无法访问此网站问题:自己写的WEB服务,端口6000在浏览器上怎么请求都无法访问此网站,如下图:在谷歌上访问:在火狐上访问:但是发现一个问题就是在Postman和IE里边测试是可以用的原因:就是因为浏览器出于安全考虑,会设置非安全不能访问的端口。所以在平常开发中需要避开这些端口,以免踩不必要的坑。谷歌的非安全端口号大概如下:端口|程序1|tcpmux7|echo9|discard11|systat
- Rust的安全卫生原则
老猿讲编程
rust开发语言
在Rust编程世界里,unsafe关键字常常让初学者感到困惑。他们经常会问:“在unsafe块里能做什么?”“什么时候需要使用unsafe?”这些问题虽然很常见,但对于真正理解Rust的安全机制来说还远远不够。因为随着Rust操作语义的不断完善,unsafe代码的能力边界也在变化;而且“什么时候需要unsafe”这种问题的答案往往比较笼统,对编写可维护的unsafe代码以及改进Rust的安全工具帮
- Go 1.20 相比 Go 1.19 有哪些值得注意的改动?
go
本系列旨在梳理Go的releasenotes与发展史,来更加深入地理解Go语言设计的思路。https://go.dev/doc/go1.20Go1.20值得关注的改动:语言SlicetoArray转换:Go1.20扩展了Go1.17的功能,允许直接将slice转换为固定大小的数组,例如使用[4]byte(x)替代*(*[4]byte)(x)。unsafe包更新:新增SliceData、String
- Go 1.17 相比 Go 1.16 有哪些值得注意的改动?
go
本系列旨在梳理Go的releasenotes与发展史,来更加深入地理解Go语言设计的思路。https://go.dev/doc/go1.17Go1.17值得关注的改动:语言增强:引入了从切片(slice)到数组指针的转换,并添加了unsafe.Add和unsafe.Slice以简化unsafe.Pointer的使用。模块图修剪:对于指定go1.17或更高版本的模块,go.mod文件现在包含更全面的
- C# 的 unsafe 关键字
visual-studio
unsafe关键字表示不安全上下文,该上下文是任何涉及指针的操作所必需的。备注:C#默认编译器是非unsafe的,使用unsafe关键字会发生编译错误(警告CS0227:不安全代码只会在使用/unsafe编译的情况下出现)。不能通过公共语言运行时验证unsafe代码。若要使用unsafe关键字,依如下步骤完成:选择菜单“项目”中的““项目名”和属性”一项;左侧栏找到“生成”→“常规”;选中右侧“不
- npm i 出现permission denied
ysj-121
npm
npminstall增加--unsafe-perm参考:Mac机型上执行npmi,报错Error:EACCES:permissiondenied_installfail!error:eacces:permissiondenied,op-CSDN博客
- 【解读】Chrome 浏览器实验性功能全景
技术与健康
chrome前端
Chrome浏览器提供了大量可配置的实验性或功能性设置,主要涉及安全、性能、多媒体、WebAPI、隐私等多个方面,这些设置可在Chrome浏览器的flags页面进行调整。安全相关设置不安全源设置:可通过#unsafely-treat-insecure-origin-as-secure,将给定的不安全源视为安全源,需指定协议,如http://example.com。站点隔离设置:#site-isol
- C++ `unique_ptr` 多线程使用
lianghu666
C/C++c++
C++unique_ptr多线程使用一、核心结论操作同一个unique_ptr:必须加锁(所有权转移是非原子操作)访问被管理对象:若对象非线程安全,仍需额外同步独立unique_ptr实例:不同线程操作不同实例时无需加锁二、错误案例(未加锁导致数据竞争)#include#include#include//全局unique_ptr(危险!)std::unique_ptrunsafe_ptr;void
- 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节点最多