E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ1758
bzoj1758
: [Wc2010]重建计划(01分数规划+长链剖分+线段树)
传送门长链剖分好题。题意简述:给一棵树,问边数在[L,R][L,R][L,R]之间的路径权值和与边数之比的最大值。思路:用脚指头想都知道要01分数规划。考虑怎么checkcheckcheck。发现就是求在转化成真·边权之后有没有长度在[L,R][L,R][L,R]之间的路径权值是大于0的。然后可以设计状态fi,jf_{i,j}fi,j表示iii开头长度为jjj的路径最大值,这个可以用长链剖分优化转
SC.ldxcaicai
·
2019-01-21 13:51
#
线段树
#
01分数规划
#
长链剖分
[长链剖分 & 线段树]
BZOJ1758
[Wc2010] 重建计划
学一发长链剖分原来以前在ATCODER上做的一题就是这个套路…#include#include#includeusingnamespacestd;constintN=100010;intn,U,D,cnt,dpt[N],d[N],G[N],son[N],fa[N];structedge{intt,nx;doublew;}E[N'9'||c='0'&&cd[son[x]])son[x]=E[i].t
LowestJN
·
2018-01-02 10:26
树链剖分
线段树
BZOJ1758
[WC2010]重建计划
DescriptionInput第一行包含一个正整数N,表示X国的城市个数.第二行包含两个正整数L和U,表示政策要求的第一期重建方案中修建道路数的上下限接下来的N-1行描述重建小组的原有方案,每行三个正整数Ai,Bi,Vi分别表示道路(Ai,Bi),其价值为Vi其中城市由1..N进行标号Output输出最大平均估值,保留三位小数SampleInput423121132143SampleOutput
Aqua_blue
·
2017-07-15 17:24
bzoj
【
BZOJ1758
】【Wc2010】重建计划 树的点分治 二分
感觉仿佛所有统计路径的题都可以把锅甩给点分治???由于要求平均值最大,我们每二分一个答案ave,就去检查是否存在一条路径满足其新路径长度(d(u,v)-ave)的和大于等于0,并且路径的长度在[L,R]之间,检查的时候技巧很多,可以用单调栈来维护当前各深度边权最大值。同时,要善于利用时间戳来避免一切memset。并且由于答案是三位小数,因此我们可以控制当r-l #include #include
qq_34637390
·
2016-04-21 21:00
【
bzoj1758
】[Wc2010]重建计划 二分答案+单调队列+点分治
首先二分答案ans,每条边权值减去ans,问题转化成整棵树中长度在[L,U]之间,权值和最大的路径是否大于0.点分治考虑如何求出经过根的所有路径对答案的影响,枚举根的每个儿子,g[i]表示当前子树中深度为i的节点的最大权值和f[i]表示之前的子树中深度为i的节点的最大权值和枚举i,查询f[L-i]~f[U-i]之间的最大值,这个可以用线段树来做,复杂度是O(∑sizelogn)的但是,题解上说用单
u012288458
·
2016-03-22 07:00
BZOJ1758
【点分治】【二分】【单调队列】
把二分放在点分治内会减小常数./*Iwillwaitforyou*/ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #definemake(a,b)make_pair(a,b) #define
Lethelody
·
2015-04-11 11:00
【
BZOJ1758
】【Wc2010】重建计划 分数规划+树分治单调队列check
广告:#include intmain() { puts("转载请注明出处[vmurder]谢谢"); puts("网址:blog.csdn.net/vmurder/article/details/44418207"); }题解:首先比较显然会想到分数规划模型。不太好想,先放过。我们树分治处理经过每个点的路径。然后对于在[L,R]区间内的每个长度记录最长距离。然后每棵子树跟之前记录的数组处理一下,
Vmurder
·
2015-03-18 18:00
分数规划
树分治
BZOJ1758
Wc2010
重建计划
BZOJ1758
[Wc2010]重建计划(二分答案+点分治+单调队列)
【题解】利用平均数的一个性质:若每个元素都减去x,平均数也减小x,因此可以二分答案Ave,求所有边权值减去Ave后,有无含L~U条边,权值和非负的路径 ->树的含L~U条边的最长路权值和是否>=0点分治即可。优化:1.先求root,再二分,可以避免多次求root2.先只求经过root的路径的最优Ave,并把它作为递归求不经过root的路径时的二分下界 判断该Ave是否可行时,要得到若干不在同一子树
cjk_cjk
·
2015-02-20 18:00
wc
单调队列
bzoj
点分治
二分答案
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他