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
Wc2010
点分治题单(来自XZY)
静态点分治[x]洛谷P3806[模板]点分治1[x]洛谷P4178Tree[x]洛谷P2634[国家集训队]聪聪可可[x]洛谷P4149[IOI2011]Race[][Luogu2664]树上游戏[][
WC2010
eternal风度
·
2020-08-13 17:19
1758: [
Wc2010
]重建计划(TLE)
链接http://www.lydsy.com/JudgeOnline/problem.php?id=1758题解?首先说明这道题我没过。那为啥要写题解?因为我确实写的正解啊。不就是先二分答案,然后点分治,然后单调队列,还得按子树深度从小到大吗。然后我就T了啊。不就是扫把图吗,我本地也很快啊。加数据的,你过来我和你说个事:我去年买了个表。这个题啊,亦可赛艇。这个加数据人啊,更可赛艇。算了算了,自己渣
*ACoder*
·
2020-08-04 23:25
二分答案
#
点分治
单调队列
【BZOJ2594】【
WC2010
】—水管局长数据加强版(LCT维护最小生成树)
传送门水题,发现就是维护一个最小生成树由于卡时间,就不直接用LCTLCTLCT连断边先做一次KruscalKruscalKruscal化边为点就可以了不要用mapmapmap,似乎要被卡空间,每次二分判断#includeusingnamespacestd;constintRLEN=1>1;if(e[mid].ue[i].v)swap(e[i].u,e[i].v);}sort(e+1,e+m+1,c
Stargazer.
·
2020-07-11 20:30
LCT
BZOJ-1758: [
Wc2010
]重建计划(点分治+二分)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1758分数规划问题,经典做法二分答案,然后由于是树的路径问题,所以在点分治里面套一个二分,然后对于求max{a[i]+b[j]}(L#include#include#includeusingnamespacestd;#defineaddedge(s,t,d)add(s,t,d),add(t,s,
AmadeusChan
·
2020-02-18 15:03
[
WC2010
]重建计划 长链剖分 + 线段树
二分以后长链剖分+线段树,扣了半天常数。好像还用啥nb迭代优化一下二分。#includeusingnamespacestd;constintN=(int)1e5+7;constdoubleeps=1e-9;intn,L,U;inthead[N],edge_tot;intlen[N],son[N],w[N];intin[N],dfs_clock;doubletmp[N],add[N];doublec
NotNight
·
2019-10-08 19:00
BZOJ 1758 / Luogu P4292 [
WC2010
]重建计划 (分数规划(二分/迭代) + 长链剖分/点分治)
题意自己看.分析求这个平均值的最大值就是分数规划,二分一下就变成了求一条长度在[L,R]内路径的权值和最大.有淀粉质的做法但是我没写,感觉常数会很大.这道题可以用长链剖分做.先对树长链剖分.我们像做dsuontree一样先做重儿子,用线段树继承重儿子的全部信息,然后做其他轻儿子查询的时候枚举一下路径的长度len,一边单点O(1)O(1)O(1)查询长度为len的最大权值,一边线段树O(logn)O
_Ark
·
2019-03-28 10:31
线段树
二分答案
树链剖分
bzoj
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
bzoj 1758: [
Wc2010
]重建计划 (01分数规划+点分治)
题目描述传送门题解这道题一直在TLE,但是bzoj发过来的数据都可以在1s内出解,不是很懂为什么。要最大化所选边的平均值,这是个01分数规划的问题,我们只需要二分答案然后判断树中是否有一条长度在[L,U]之间的链∑s∈eval[s]−mid大于0即可。在点分治中01分数规划的效率要高于在外层01分数规划,因为这样不用每次check的时候都找重心。还有如果一个点子树的size#include#inc
clover_hxy
·
2017-03-30 10:03
点分治
01分数规划
【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
1758: [
Wc2010
]重建计划
1758:[
Wc2010
]重建计划TimeLimit: 40Sec MemoryLimit: 162MBSubmit: 1575 Solved: 528[Submit][Status][Discuss
CRZbulabula
·
2016-02-03 21:00
WC2010
排序机
数据特点1.小数据√2.随机√3.随机√4.链√5.tarjan√6.菊花图√7.菊花图√8.满二叉树√9.满二叉树√10.完全二叉树√一个一个点说1.手玩就好啦2.搜手动迭代加深//Copyright(c)2016liuchenrui #include #include #include #include #include usingnamespacestd; inlinevoidsplay(i
lcrtest
·
2016-01-19 14: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
点分治
二分答案
【BZOJ 1758】 [
Wc2010
]重建计划
1758:[
Wc2010
]重建计划TimeLimit: 40Sec MemoryLimit: 162MBSubmit: 989 Solved: 345[Submit][Status]DescriptionInput
Regina8023
·
2015-02-04 08:00
OI
01分数规划
bzoj
点分治
【BZOJ】【P1758】【
Wc2010
】【重建计划】【题解】【点分治+二分+单调队列】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1758二分答案把边权减去mid,点分治判断是否有>=0,长度在[L,U]的路径单调队列优化Code:#include usingnamespacestd; constdoubleeps=1e-5; constintmaxn=1e5+5; intdcmp(doublex){return(x>ep
u012732945
·
2015-01-02 15:00
bzoj
BZOJ 1758
Wc2010
重建计划 树的点分治+二分+单调队列
题目大意:给定一棵树,询问长度在[l,u]范围内的路径中边权的平均值的最大值01分数规划,首先想到二分答案既然是统计路径肯定是点分治每次统计时我们要找有没有大于0的路径存在那么对于一棵子树的每一个深度i记录一个路径权值和的最大值然后在这棵子树之前的所有子树的深度可选范围就是[l-i,u-i]这个窗口是不停滑动的因此用单调队列维护最大值即可↑上面这些网上的题解都说的还是蛮详细的据说二分套在树分治里面
PoPoQQQ
·
2014-12-11 12:00
单调队列
bzoj
二分答案
树的点分治
BZOJ1758
【apio2012】网络流
虽然apio没去,但是讲课资料还是值得研究第2~4道题还没怎么见过,其他几道就比较老了TransformMatrixmt在
wc2010
的校内讲课中讲过,但是只记得听过这道题了,不过重新推发现思路还比较清晰
huyuncong
·
2012-05-24 20:00
c
算法
网络
OO
任务
2010
上一页
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
其他