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
BZOJ3672
【点分治+CDQ思想+斜率优化】
BZOJ3672
[NOI2014]购票
【题目】原题地址题目大意:一棵有根树,从一个城市xx到另一个城市yy的花费为dis(x,y)∗px+qxdis(x,y)∗px+qx,同时要求dis(x,y)usingnamespacestd;typedeflonglongLL;constintN=2e5+10;constLLINF=(1ll9)write(x/10ll);putchar(x%10^48);}structTway{intv,nex
Dream_Lolita
·
2018-06-11 17:19
分而治之-树分治
分而治之-CDQ分治
DP-斜率优化
bzoj3672
购票 树上dp&树上cdq分治
显然易得dp方程:f[x]=min{f[y]+(d[x]-d[y])*px+qx},其中y是x的祖先且d[x]-d[y]d[y])且y更优的条件为:(f[x]-f[y])/(d[x]-d[y])>=pz,那么令不等式左边那个为S(x,y)即(x,y)的斜率。 考虑一条链的情况,显然可以离线后cdq分治。 树上的话,不妨称之为树上cdq分治(好吧承认是我自己yy
lych_cys
·
2016-05-04 20:00
动态规划
cdq分治
树形DP
树上cdq分治
【
bzoj3672
】[Noi2014]购票 斜率优化+树链剖分+线段树+凸包+三分
f[i]表示从根到点i的最少票价f[i]=min{f[j]+(dep[i]-dep[j])*p[i]+q[i]}(dep[i]-dep[j]=0,所以答案一定在下凸壳上pre[i]表示i最多能延伸到的祖先,这个可以二分什么的乱搞出来求f[i]就是在fa[i]到pre[i]之间形成的凸壳上三分树链剖分+线段树维护凸壳线段树的每个节点暴力建出凸壳,复杂度O(nlog^2n)每次查询按照剖分查就可以了,
u012288458
·
2016-03-23 10:00
BZOJ3672
: [Noi2014]购票
Description 今年夏天,NOI在SZ市迎来了她30周岁的生日。来自全国n个城市的OIer们都会从各地出发,到SZ市参加这次盛会。 全国的城市构成了一棵以SZ市为根的有根树,每个城市与它的父亲用道路连接。为了方便起见,我们将全国的 n 个城市用1到n的整数编号。其中SZ市的编号为1。对于除SZ市之外的任意一个城市 v,我们给出了它在这棵树上的父亲城市fv 以及到父亲城市道路的长度s
wzj_is_a_juruo
·
2016-01-13 18:00
bzoj3672
: [Noi2014]购票
传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3672思路:思路:首先不考虑树,也不考虑距离限制,假设是链上且无距离限制。设每个点到根的路径为d[i],两点之间路径长为dist(i,j)那么DP方程很显然f[i]=min(f[j]+dist(i,j)*p[i]+q[i])(i>j)f[i]=min(f[j]+d[i]*p[i]-d[
thy_asdf
·
2015-12-16 15:00
BZOJ3672
: [Noi2014]购票
设d[i]表示i到1的距离 f[i]=w[i]+min(f[j]+(d[i]-d[j])*v[i])=w[i]+d[i]*v[i]+min(-d[j]*v[i]+f[j]) 对这棵树进行点分治,每次递归时的根为x,重心为rt 如果x==rt,则把树中所有点用x暴力更新,然后递归分治 否则,先递归分治x的那部分子树,将树中每个点按照能走到的最远处的深度从大到小排序 然后将rt到x路径上所有
·
2015-10-31 11:50
ZOJ
上一页
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
其他