- linux基础命令(一)
运维搬运工
linuxlinux服务器centos
Linux基础命令1、设置主机名1.1、hostname查看主机名[root@ansible~]#cat/etc/hostnameansible或[root@ansible~]#hostnameansible注意:主机名中不允许使用下划线“_”,可以用短横线“-”1.2、hostname临时修改主机名#临时修改直接修改的是内存中的,重启会失效[root@ansible~]#hostnameansi
- ansible使用linefile批量修改网卡配置文件及host解析
忍冬行者
ansible网络服务器
一.使用ansible批量给主机添加host或者修改host1.新增一个host解析ansibletest-mlineinfile-a'path=/etc/hostsline="192.168.1.1www.htjs.net"'2.修改hosts文件ansibletest-mlineinfile-a'path=/etc/hostsregexp="^192.168.1.1"line="1.1.1.1
- 自动化运维工具----Ansible入门详解
效好飞
自动化运维工具运维自动化ansible
一、Ansible简介什么是Ansible?1.ansible是新出现的自动化运维工具,基于python开发,集合了从多的运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。2.ansible是基于paramiko开发的,并且基于模块化工作,它本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只
- ansible playbook剧本
小枫呀
自动化运维工具centoslinux运维
Ansible的Playbook一、playbook概述什么是playbookPlayBook即"剧本","兵书"之意,PlayBook是由以下部分组成的play(host):定义的是主机的角色。(主角还是配角)Book(task):定义的是具体执行的任务。(角色的台词和动作)playbook:由一个或多个play(角色)组成,一个play(角色)可以包含多个task(台词,动作)。简单理解为:使
- Ansible-Tower web界面管理安装
阿亮说技术
linuxansibletower
Ansible-Towerweb界面管理安装Ansible-Tower介绍Ansible-Tower(之前叫做awx)是将ansible的指令界面化,简明直观,简单易用。Ansibke-tower其实就是一个图形化的任务调度,复杂服务部署,IT自动化的一个管理平台,属于发布配置管理系统,支持Api及界面操作,Django编写。Ansible-tower可以通过界面从github拉取最新playbo
- Ansible常见模块的使用
逐流·
linux
Ansible常见模块的使用ansible常见模块ping模块用于检查指定节点机器是否连通script-在受控主机上执行控制主机的脚本templatetemplate与copy类似-模块用于生成一个模板,并可将其传输至远程主机上。yum-管理软件group组管理service-查询控制服务copy模块从服务器复制文件到目标主机fetch从对方主机文件复制到本主机file设置文件的属性hostnam
- Ansible常见模块及用法
Field_Yang
自动化运维工具ansible常见模块ansible用法ansible自动化运维工具
Ansible常见模块及用法一、ansible选项说明[root@cen7~]#manansibleansible[options]ansible[-fforks][-mmodule_name][-aargs]-mmodule:没指定-m选项,默认为command-aMODULE_ARGS,--argsMODULE_ARGS:模块参数,,如果执行默认COMMAND的模块,即是命令参数,如:“dat
- Python自动化部署与配置管理:Ansible与Docker
api77
api电商apipython自动化ansiblepytest开发语言数据库
Ansible和Docker是两种常用于自动化部署和配置管理的工具。Ansible是一个基于Python的自动化运维工具,可以配置管理、应用部署、任务自动化等。而Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。下面将给出一个简单的示例,展示如何使用Ansible和Docker进行自动化部署。步骤
- Ansible 自动化运维工具的使用
GnaW1nT
运维ansible自动化
目录Ansible的简介ansible环境安装部署ansible命令行模块command模块shell模块cron模块user模块group模块copy模块file模块hostname模块ping模块yum模块service/systemd模块script模块mount模块archive模块unarchive模块replace模块setup模块Ansible的简介Ansible是一个基于Pytho
- Ansible的脚本 --- playbook 剧本
GnaW1nT
ansible
目录playbook的简介什么是playbookplaybook组成应用实例Templates模块tags模块Roles模块playbook的简介什么是playbookAnsiblePlaybook是设定自动化任务的一种蓝图,可在无需人工干预或有限干预的前提下执行复杂的IT操作。AnsiblePlaybook对一组或一类共同构成Ansible清单的主机执行。AnsiblePlaybook本质上是一
- ansible动态主机清单案例
山客泛舟游Y
ansiblelinuxphp
linuxansible动态主机清单案例使用动态清单模板,修改其内容,要求如下:(1)node1是test主机组的成员,其中test主机组可以使用变量:aa=11bb=22(2)node2和node3是prod主机组的成员,其中prod主机组可以使用的变量:cc=33dd=44(3)node1还可以使用的变量:nodevar=xxx1(4)node2还可以使用的变量:nodevar=xxx2(5)
- Ansible-免密登录与主机清单Inventory
LightZhang666
自动化ansiblelinux运维linuxansible自动化CentOS
Ansible的指定用户与密码登录、免密登录、指定ssh端口以及主机清单Inventory配置主机规划主机名称操作系统版本内网IP外网IP(模拟)安装软件ansi-managerCentOS7.5172.16.1.18010.0.0.180ansibleansi-haproxy01CentOS7.5172.16.1.18110.0.0.181ansi-haproxy02CentOS7.5172.1
- Ansible主机清单—inventory主机清单
ZhulongQ
ansible
文章目录一、主机清单设置方式二、标识主机名的方式三、Inventory中变量四、Inventory变量参数一、主机清单设置方式ansible默认的主机清单是/etc/ansible/hosts文件主机清单可以手动设置,也可以通过DynamicInventory动态生成一般主机名使用FQDN二、标识主机名的方式方括号设置组名vi/etc/ansible/hosts[webserver]www1.ex
- 认识ansible,了解常用的模块
lelelele798
ansible
ansible的概念Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个操作,使用Ansible只需在固定的一台Ansible控制节点上去完成所有主机的操
- Ansible-主机清单
冬枣0
linux服务器运维网络
1.配置主机清单下表列出了有关四个受管主机的信息。您将根据主机的用途、所在的城市以及它所属的部署环境,将每个主机分配给多个组以进行管理。此外,美国城市组(罗利和山景城)必须设为组\us**的子项(children),这样美国的主机就可以作为一个组进行管理。主机名称用途位置运行环境servera.lab.example.comweb服务器罗利raleigh开发developmentserverb.l
- Ansible主机清单inventory
被遗忘的区域
自动化工具服务器网络运维
前言关于Ansible是什么,我在之前的文章中没有说;当然了,我这里也不会说。当你看到我写的这篇文章时,我想你已经知道了Ansible是什么了,如果您还不知道什么是Ansible是什么,那我的建议是先去百度一下,知道了Ansible是什么了,知道了Ansible能干什么了以后,再回过头来继续阅读我这里的总结。在Ansible中,有两个非常重要的概念,就是管理主机和被管理远程主机。管理主机:就是管理
- Ansible添加主机清单
有谁看见我的剑了?
Ansibleansiblelinuxbash
1、基于端口,用户,密码定义主机清单格式:ansible基于ssh连接-i(inventory)参数后指定的远程主机时,也可以写端口,用户,密码。如:ansible_ssh_port:指定ssh端口ansible_ssh_user:指定ssh用户ansible_ssh_pass:指定ssh用户登录是认证密码(明文密码不安全)ansible_sudo_pass:指明sudo时候的密码注意:使用密码时
- ansible的主机清单/资源inventory配置详解
GeekShuai
Linux自动化运维ansibleinventory
主机清单inventory文章目录主机清单inventory主机清单作用演示inventory主机清单ansible的主要功能在于批量主机操作,为了便捷的使用启动的部分主机,可以在inventoryfile中将其分组命名默认的inventoryfile默认的inventoryfile为/etc/ansible/hostsinventory可以有多个inventoryfile可以有多个,且也可以通过
- 自动化运维工具Ansible——inventory 主机清单
learnrecord
运维自动化ansible
目录Inventory简介Ansible配置文件的优先级Ansible命令常用参数主机清单文件hosts通过列表的方式标识主机范围主机端口指定用主机名标识主机范围inventory中的变量主机变量组变量all组嵌套Inventory简介Inventory支持对主机进行分组,每个组可以定义多个主机,每个主机都可以定义在任何一个或多个主机内。Ansible配置文件的优先级首先找执行ansible命令的
- Ansible管理动态清单
时羽天
Ansibleansiblelinux运维
文章目录管理动态清单实例管理动态清单受控主机比较少的情况下,建议是使用静态主机清单的,但当我们处于一个大型的环境下,受控主机非常非常多的时候,而且受控主机更替非常快的时候,我们使用静态主机清单就很难来管理了,我们使用动态的主机清单更便于我们管理了。Ansible支持动态清单脚本,这些脚本在每当ansible执行时从这些类型的来源检索当前的信息,使清单能够实时得到更新。这些清单脚本是可执行的程序,能
- ansible inventory 主机清单配置
o0o0o0D
文章目录环境介绍ansiblessh配置操作测试/etc/hosts配置Inventory文件主机与组主机变量、组变量把一个组变成另一个组的子成员变量太多了,不好管理怎么办?来,分文件定义主机变量和组变量操作环境介绍为了练习方便,本次使用一台虚拟机,多个主机名模拟多台虚拟机操作1,省事省力,方便学习。操作系统centos7虚拟机数量1台使用root账户进行操作ansiblessh配置操作#若已经配
- Ansible Inventory 主机清单 和 如何匹配主机组
富士康质检员张全蛋
Ansible运维
Inventory是什么Inventory文件主要用来填写被管理主机以及主机组信息,(逻辑上定义),默认Inventory文件为/etc/ansible/hosts。当然也可以自定义一个文件,当执行ansible命令时使用-i选项指定Inventory文件位置。inventory里面可以定义单个主机,一般都是去定义主机组。列出主机中有多少台主机[root@masteransible]#ansibl
- Ansible——inventory 主机清单
阿杰112
ansiblelinuxbash
Ansible——inventory主机清单Ansible——inventory主机清单inventory简介ansible配置文件的优先级ansible命令常用参数主机清单文件hosts(/etc/ansible/hosts)通过列表的方式标识主机范围指定主机端口使用主机名表示主机范围inventory中的变量主机变量组变量组嵌套Ansible——inventory主机清单inventory简介
- [ansible] playbook角色
为什么老是名字被占用
自动化运维ansible运维
一、rolesRoles又称为角色,playbook被称为剧本。Roles角色是自1.2版本之后引入的新特性,用于层次性、结构化的组织剧本roles能够根据层次型结构自动装载变量文件、任务集、以及触发的动作等,要使用roles只需要在剧本中使用include命令引入即可简单的来说,roles就是分别将变量、文件、任务、模板以及处理器放置于不同的单独的目录,并且可以便捷的通过include引入角色一
- [ansible] playbook运用
为什么老是名字被占用
自动化运维ansible运维
一、复习playbook剧本----name:firstplayforinstallnginx#设置play的名称gather_facts:false#设置不收集facts信息hosts:webservers:dbservers#指定执行此play的远程主机组remote_user:root#指定执行此play的用户tasks:#指定此play的任务列表-name:disabledfirewall
- ansible inventory 主机清单
luochiying
ansible服务器linux
Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内。如果是名称类似的主机,可以使用列表的方式标识各个主机。vim/etc/ansible/hosts[webservers]192.168.80.11:2222#冒号后定义远程连接端口,默认是ssh的22端口192.168.80.1[2:5]#[]中指定连续的范围[dbservers]db-[a
- Ansible(剧本,角色编写)
疯狂的斯图卡
playbook
文章目录一、剧本(playbook)1.playbook介绍2.playbooks的组成3.案例:编写httpd的playbook4.定义,应用变量5.指定远程主机sudo切换用户6.when条件判断7.迭代8.Templates模块一、剧本(playbook)1.playbook介绍playbook是ansible用于配置,部署,和管理被控节点的剧本。通过playbook的详细描述,执行其中的t
- Ansible 的脚本 --- playbook 剧本
Jahony
linux运维自动化
Ansible的脚本---playbook剧本playbooks本身由以下各部分组成编写yaml文件示例运行playbook定义、引用变量指定远程主机sudo切换用户when条件判断迭代Templates模块1.先准备一个以.j2为后缀的template模板文件,设置引用的变量2.修改主机清单文件,使用主机变量定义一个变量名相同,而值不同的变量3.编写playbooktags模块Roles模块在一
- ansible中的角色使用
李牛克斯小学生
linux
ansibleroles1、ansible中的角色简介角色(roles)是ansible自1.2版本开始引入的新特性,用于层次性、结构化的组织playbook;roles能够根据层次型结构自动装载变量文件、tasks以及handlers等剧本元素;简单的说就是,roles通过分别将变量、文件、任务、模块及处理器放置于单独的目录中,并可以便捷地include它们的一种机制;角色一般用于基于主机构建服
- ansible的剧本
王德发666
apache网络服务器
1playbook剧本1.1playbooks的组成Tasks任务,即通过task调用ansible的模板将多个操作组织在一个playbook中运行Variables变量Templates模板Handlers处理器,当changed状态条件满足时,(notify)触发执行的操作Roles角色1.2playbooks剧本范例vimtest1.yaml--- #yaml文件以---开头,以表明这是一
- 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节点最多