- 2.8.5Django --8.2 单表操作
寒暄_HX
Django目录:https://www.jianshu.com/p/dc36f62b3dc5Yuan先生-Django模型层(1)Django与SQLAlchemy的ORM操作本质上是一样的,但是语法略有不同,如果是用Django进行开发最好使用原生的ORM或者直接使用原生SQL。创建表app06创建模型在app06中的models.py文件内,新建一个模板。one_exa.app06.mode
- pandas读取xlsx文件使用sqlachemy写到数据库
hzw0510
pandaspandas数据库
pandas读取xlsx文件使用sqlachemy写到数据库要使用pandas和SQLAlchemy将Excel文件中的数据读取到数据库中,你可以按照以下步骤进行操作:安装必要的库:确保你已经安装了pandas、SQLAlchemy和openpyxl(用于读取Excel文件)。可以使用以下命令安装:pipinstallpandassqlalchemyopenpyxl如果你使用的是特定的数据库(如S
- flask-sqlalchemy的模型类两个表,既有一对一又有一对多的情况时,解决方法
skyTree,,
Flaskpython
这种情况时,直接进行数据迁移会回报错,因为一个表需要依赖另一个表,所以可以将两个表的基本字段先迁移好,然后再新增外键字段进行迁移,就不会报错了fromdatetimeimportdatetimefromapi.models.baseimportBaseModelfromapiimportdbfromwerkzeug.securityimportcheck_password_hash,generat
- Python轻量级ORM框架——peewee
半生浮名只是虚妄
Pythonpython
这里写目录标题Python中常用的ORM框架peewee使用经验从数据库中导出模型查询统计类查询优化子查询参考文章Python中常用的ORM框架SQLALchemy:重量级框架,适合企业级开发,容易与任意Web框架集成,学习成本更高DjangoORM:Django框架中内嵌的ORM模块,易学易用,只适合Django项目使用peewee:轻量级框架,适合个人开发,容易与任意Web框架集成,API类似
- 开源的BI大屏设计工具
易道合之逍遥峰
开源工具信息可视化
开源的BI大屏设计工具提供了丰富的功能和灵活性,帮助用户快速构建和展示数据可视化大屏。以下是一些知名的开源BI大屏设计工具及其特点:ApacheSuperset定位:现代化的、企业级的数据探索与可视化平台。功能:提供丰富的数据源连接选项(如SQLAlchemy)和强大的可视化功能。用户可以自定义仪表板(Dashboards),快速创建数据大屏。特点:支持多种数据源,界面友好,适合有一定技术背景的用
- python----使用sqlalchemy操作mysql数据库
cheerfulCoder
python
准备使用sqlalchemy前要先安装pymysql数据库我是使用docker快速创建的现在已经运行起来了开始1.创建表格fromsqlalchemyimportcreate_engine#初始化连接使用sqlalchemy时要先安装pymysql否则连接失败engine=create_engine('mysql+pymysql://root:
[email protected]/user',
- sqlalchemy mysql_使用SQLAlchemy操作MySQL
莫泽成
sqlalchemymysql
场景应用老大我让爬取内部网站获取数据,插入到新建的表中,并每天进行爬取更新数据(后面做了定时任务)。然后根据该表统计每日的新增数量/更新数量进行制图制表,向上级汇报。思路构建选用sqlalchemy+mysqlconnector,连接数据库,创建表,对指定表进行CRUDfromsqlalchemyimportexists,Column,Integer,String,ForeignKey,DateT
- Python Web 框架篇:Flask、Django、FastAPI介绍及其核心技术
Switch616
PythonWebpython前端flaskfastapidjango开发语言后端
PythonWeb框架篇:Flask、Django、FastAPI介绍及其核心技术目录FlaskFlask核心概念(路由、视图函数、模板渲染)FlaskBlueprint模块化应用Flask扩展(Flask-SQLAlchemy、Flask-WTF、Flask-Migrate等)DjangoDjango项目架构DjangoORM及模型定义Django中间件Django信号机制DjangoForm和
- sqlalchemy.orm中validates对两个字段进行联合校验
weixin_41956627
数据库python
版本sqlalchemy==1.4.37需求说明有个场景,需要在orm中对两个字段进行联合校验,当col1='xxx’时,对col2的长度进行检查,超过限制(500)时,进行截断。网上找了很久,没找到类似的实现,自己摸索出来了一套方法;解决在validates装饰器中,它是在设置字段值之前被调用的,validates包装的函数校验完成后通过return赋值给字段validates的执行顺序看起来是
- flask sqlalchemy 动态创建表
llc的足迹
数据库flasksqlalchemy
创建模型defget_model(suffix):classBaseModel(Base):__tablename__=f'table_{suffix}'__table_args__={'extend_existing':True}target_name=db.Column(db.String(64),nullable=False,unique=True,comment="名称")target_i
- sqlalchemy判断表是否存在及动态创建表
llc的足迹
数据库sqlalchemy
defget_model(suffix):classTableModel(Base):__tablename__=f'table_{suffix}'__table_args__={'extend_existing':True}name=db.Column(db.String(64),comment="名称")desc=db.Column(db.String(32),comment="描述")ret
- sqlalchemy session.remove
youhebuke225
sqlAlchemysqlalchemy
sqlalchemy.session.remove()是一个用于管理SQLAlchemy会话生命周期的方法。它并不是用来删除数据库中的记录,而是用来关闭并删除当前的会话对象。当你的应用程序不再需要使用某个会话时,可以调用remove方法来清理资源。下面是一个简单的示例,展示了如何创建一个会话并在不再需要时调用remove方法来关闭会话:fromsqlalchemyimportcreate_engi
- Flask Sqlalchemy 常用操作
Ghost_zhipeng
PythonFlasksqlalchemy排序传参flaskmysql
SQLAlchemy参考文档官方文档使用Flask-SQLAlchemy连接数据库fromflaskimportFlask,render_templatefromflask_sqlalchemyimportSQLAlchemyapp=Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI']='mysql+pymysql://root:88888888
- sqlalchemy的foreignkey操作
MarryOnlyQueen
数据库ORM
创表操作create_table_foreignkey.py#一对多建表操作fromsqlalchemy.ext.declarativeimportdeclarative_basefromsqlalchemyimportcreate_enginefromsqlalchemyimportColumn,Integer,String,ForeignKeyfromsqlalchemy.ormimportr
- SQLAlchemy有哪些常用的操作方法
Botiway
FlaskWebpython后端web3flasklinux
SQLAlchemy是一个流行的PythonSQL工具包和对象关系映射(ORM)库,它提供了一系列丰富的操作方法用于数据库操作。以下是一些SQLAlchemy常用的操作方法:1.创建表在SQLAlchemy中,可以通过声明式或经典式两种方式创建表。声明式方式较为常用,通过定义Python类来映射数据库表。声明式方式:使用declarative_base()创建一个基类,然后继承这个基类定义模型类,
- cannot import name ‘xx‘ from partially initialized module ‘xx‘(most likely due to a circular 解决方法(全)
码农研究僧
BUG数据库pythoncircularimport
目录1.问题所示2.原理分析3.解决方法1.问题所示出现如下问题:(py3.10)F:\python_project\test>pythonsqlalchemy.pyTraceback(mostrecentcalllast):File"F:\python_project\test\sqlalchemy.py",line1,
- python向数据库写入数据_用python在后端将数据写入到数据库并读取
weixin_39989688
python向数据库写入数据
用python在后端将数据写入到数据库:#coding:utf-importpandasaspdfromsqlalchemyimportcreate_engine#初始化数据库连接,使用pymysql模块#MySQL的用户:root,密码:,端口:,数据库:mydbengine=create_engine('mysql+pymysql://root:123456@localhost:3306/py
- 开发一个电商API能有多简单!一篇文章告诉你
咸鱼蛋炒饭
学习分享数据库
以下是开发一个简单电商API的主要步骤:一、需求分析与规划确定电商API需要提供的功能,如商品查询、商品详情获取、用户注册/登录、购物车管理、订单创建与查询等。二、技术选型与环境搭建选择合适的开发语言和框架,例如使用Python的Django或Flask框架。假设选择Flask:plaintextpipinstallflask同时,安装数据库相关的库,比如SQLAlchemy(用于与数据库交互):
- Python知识点:如何使用SQLAlchemy进行ORM(对象关系映射)
超哥同学
Python系列pythonoracle开发语言编程面试
使用SQLAlchemy进行ORM(对象关系映射)涉及几个关键步骤。以下是一个详细的指南,帮助你理解并使用SQLAlchemy进行ORM。1.安装SQLAlchemy首先,你需要安装SQLAlchemy。你可以使用pip来安装:pipinstallsqlalchemy2.创建数据库连接首先,你需要创建一个数据库连接引擎。SQLAlchemy支持多种数据库,包括SQLite、PostgreSQL、M
- easy_fastapi Python 后端开发框架
one-ccs
Pythonfastapipythonmysqlredis后端
GitHubeasy_fastapibyone-ccs遵循MIT开源协议EasyFastAPI基于FastAPI开发的后端框架,集成了SQLAlchemy、Pydantic、Alembic、PyJWT、PyYAML、Redis等插件,旨在提供一个高效、易用的后端开发环境。该框架通过清晰的目录结构和模块化设计,帮助开发者快速构建和部署后端服务。一、主要特点集成多种插件:集成了SQLAlchemy(数
- ImportError: cannot import name ‘TypeAliasType‘ from ‘typing_extensions‘问题的解决
凌寒ᨐ舞
机器学习python
原因环境中的typing_extensions库版本与sqlalchemy或其他依赖的库版本不兼容。分析typing_extensions是一个Python库,它提供了在当前或较旧的Python版本中不可用的额外类型提示(typehints)和类型相关的功能。这个库是为了向后兼容而设计的,使得开发者能在旧版本的Python中使用最新的类型系统特性,而这些特性原本只在最新的Python版本中可用。主
- 读取csv、txt等文件存到数据库
butters001
importpandasaspdfromsqlalchemyimportcreate_engineimporttimedata=pd.read_csv('/home/ubuntu/Desktop/measurements_new1.txt',delim_whitespace=True)#delim_whitespace=True空格作为分隔符,默认为Falseengine=create_engin
- pyhton - PyHive
凌不了云
pythonpythonhive
简介PyHive是一组PythonDB-API和SQLAlchemy接口,可用于Presto和Hive。它为Python提供了一个与Presto和Hive进行交互的平台,使得数据分析师和工程师可以更方便地进行数据处理和分析。安装在安装PyHive之前,你需要确保已经安装以下软件:PipPythonJDK(JavaDevelopmentKit)Hive或Presto在安装完成上述软件之后,你可以使用
- sqlalchemy定期保持mysql连接活跃
hzw0510
sqlalchemymysql数据库
sqlalchemy定期保持mysql连接活跃在使用SQLAlchemy连接MySQL数据库时,确保保持活跃连接是很重要的,特别是在长时间不使用数据库连接时。以下是一些建议来定期保持活跃连接:1、连接池设置:SQLAlchemy使用连接池管理数据库连接。通过配置合适的连接池参数可以有效地保持活跃连接。关键参数包括pool_size(连接池大小)、max_overflow(超出连接池大小时允许创建的
- python管理——设置清华镜像站;安装pandas数据分析⼯具;安装pymysql连接器;python脚本
冬冬的狼外婆
pythonpandas数据分析
一、方法一指定pip从哪个源服务器下载和安装Python包pip3configsetglobal.index-url清华镜像站https://pypi.tuna.tsinghua.edu.cn/simple安装SQLAlchemyyum-yinstallsqlalchemy使用pip3安装pandas库pip3installpandas导入pandas作为pdimportpandasaspd创建数
- Python Flask 使用数据库
安果移不动
pythonflask开发语言
pipinstallflask_sqlalchemy官方文档:Flask-SQLAlchemy—Flask-SQLAlchemyDocumentation(3.1.x)为了不报错也需要导入另外两个库#pipinstallflask_sqlalchemy#pipinstallmysqlclient完整代码importosfromflaskimportFlaskfromflask_sqlalchemy
- 解决sqlalchemy执行语句提示Not an executable object
娜年花开666
#Pythonandroid
问题:fromsqlalchemyimportcreate_engine#数据库的变量HOST='127.0.0.1'PORT=3306DATA_BASE='itbz'USER='root'PWD='123456'#DB_URL=f'数据库的名+驱动名://{USER}:{PWD}@{HOST}:{PORT}/{DATA_BASE}'DB_URL=f'mysql+pymysql://{USER}:
- Superset二次开发之Superset架构理解
aimmon
架构supersetBI
技术框架框架作用前端React构建用户界面的JavaScript库ReduxJavaScript应用的状态管理库,管理组件间的状态共享Webpack前端资源打包工具BabelJavaScript编译器D3.js数据可视化的JavaScript库后端Flask轻量级的Pythonweb框架,处理HTTP请求、路由以及其他Web服务功能SQLAlchemySQL工具包和对象关系映射(ORM)工具,处理
- 【Python--Web应用框架大比较】
码上有前
Pythonpythonflaskdjango
作者:“码上有前”文章简介:Python欢迎小伙伴们点赞、收藏⭐、留言DjangoDjango太重了,除了web框架,自带ORM和模板引擎,灵活和自由度不够高Django能开发小应用,但总会有“杀鸡焉用牛刀”的感觉Django的自带ORM非常优秀,综合评价略高于SQLAlchemyDjango自带的模板引擎简单好用,但其强大程度和综合评价略低于JinjaDjango自带ORM也使Django与关系
- Sqlalchemy 使用 in or notin 无法批量删除或者修改数据
燃灯工作室
Flaskpythonflask
下面以删除为例,update和delete和修改一模一样的1.解决方法可以在delete()括号内添加synchronize_session=False或者synchronize_session=‘fetch’实现删除delete(synchronize_session=False)2.出现的场景当我们使用in或者notin筛选出需要删除的数据并进行删的时候_m=MpSubscribeSchedu
- 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节点最多