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
BZOJ1791
BZOJ1791
[Ioi2008]Island 岛屿 ——基环森林直径和+单调队列优化DP+树形DP
题目描述你将要游览一个有N个岛屿的公园。从每一个岛i出发,只建造一座桥。桥的长度以Li表示。公园内总共有N座桥。尽管每座桥由一个岛连到另一个岛,但每座桥均可以双向行走。同时,每一对这样的岛屿,都有一艘专用的往来两岛之间的渡船。相对于乘船而言,你更喜欢步行。你希望所经过的桥的总长度尽可能的长,但受到以下的限制。•可以自行挑选一个岛开始游览。•任何一个岛都不能游览一次以上。•无论任何时间你都可以由你现
weixin_33862993
·
2020-08-14 08:38
BZOJ1791
: [Ioi2008]Island 岛屿
【传送门:
BZOJ1791
】简要题意:给出一张有n个点的图,有n条双向边,长度为Li每个点只能走一次一个人可以到另一个连通块当且仅当现在所在的点所有与它相连的点都被走过,那么他就可以到另一个连通块的任意一个点这个人可以从任意一个点开始行走求出最大行走的边的长度和题解
weixin_30518397
·
2020-08-14 08:14
树形dp 基环树直径
bzoj1791
ioi2008island
这个题真的好麻烦啊。。。就是给一堆基环树然后求出他们的直径的和我们首先不考虑环,然后对于每个点求出他所能走到的最大深度,然后缩点,就成了一个面包圈一样的环了然后脱环成链直接用单调队列dp就可以了队列中维护dp的决策,由于决策是有单调性的。。。#include#include#include#include#include#defineMAX1000010#definelllonglong#defi
wbysr
·
2020-08-14 08:56
树分治
数据结构
bzoj
dp
BZOJ1791
/洛谷4381 Island 岛屿(基环森林直径和+单调队列优化DP+树形DP)
题意:基环树森林的各个树直径之和。分析:基环树(树)森林直径模板,详见《算法竞赛进阶指南》P388-389。代码:#include#includeusingnamespacestd;constintu=1000010;intver[2*u],edge[2*u],next[2*u],head[u],du[u],c[u],v[u],q[2*u];longlongf[u],d[u],a[2*u],b[2
Self-Discipline
·
2020-08-14 07:30
基环树
单调队列
dp
模板
BZOJ1791
基环树直径
非递归版4S1/**************************************************************2Problem:17913User:183574Language:C++5Result:Accepted6Time:4556ms7Memory:120132kb8************************************************
baichuan9723
·
2020-08-14 06:54
岛屿(
bzoj1791
)
1791:[Ioi2008]Island岛屿TimeLimit:20SecMemoryLimit:162MBSubmit:2042Solved:461[Submit][Status][Discuss]Description你将要游览一个有N个岛屿的公园。从每一个岛i出发,只建造一座桥。桥的长度以Li表示。公园内总共有N座桥。尽管每座桥由一个岛连到另一个岛,但每座桥均可以双向行走。同时,每一对这样的
allia990718
·
2020-08-14 06:13
【
BZOJ1791
】【IOI2008】【基环树】island(status速度第一)
1791:[Ioi2008]Island岛屿TimeLimit:20SecMemoryLimit:162MBSubmit:908Solved:159[Submit][Status]Description你将要游览一个有N个岛屿的公园。从每一个岛i出发,只建造一座桥。桥的长度以Li表示。公园内总共有N座桥。尽管每座桥由一个岛连到另一个岛,但每座桥均可以双向行走。同时,每一对这样的岛屿,都有一艘
空灰冰魂
·
2020-08-14 06:20
找环
基环树
bzoj1791
,P4381-[IOI2008]Island【基环树,树形dp,单调队列dp,树的直径】
正题评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=P4381题目大意有n个岛,n条无向边(保证每个岛都有边连到)。走过的路和岛不可以重走,可以坐船。坐船要求之前没有任何使用过的船加上道路可以到达那个点才可以坐船。求最长可以走多远。解题思路首先这是一棵基环树森林,根据乘船的规定其实就是每棵基环树只可以走一次。这时候我们就可以发现答案
ssl_wyc
·
2020-08-14 06:57
dp
数据结构
图论
[
BZOJ1791
][IOI2008] Island 基环外向树+DP
题中说每个点连出一条边,所以图应该是很多个基环+外向树。对于每一个联通块,一条最长路径可能在某一棵子树中,也可能两棵子树各一部分加上中间一段环的路径。所以先找出它的环,对每棵树先进行树型DP,记到根最长距离为g[i]。然后把环展开(1-2-3的环展开成1-2-3-1-2),维护一个距离前缀和dis[i],这就是一个决策区间单调移动的DP了,方程为f[i]=max{g[j]-dis[j]}+dis[
DOFYPXY
·
2020-08-14 06:57
dp
树
bzoj1791
[Ioi2008]Island 岛屿(求基环树直径,单调队列)
给定一个基环树森林,求每一棵基环树的直径,他们的和就是答案。基环树的直径:先找到环,然后直径只有可能是1.环上某一个点的子树的直径2.环上某两个点之间的距离加上他们各自子树中最深的点的深度。然后搜一搜就好了,情况2可以单调队列一下。O(n)O(n)O(n)我写的太丑了,bzoj跑不过去qaq#includeusingnamespacestd;#definelllonglong#defineinf0
Icefox_zhx
·
2020-08-07 11:25
bzoj
单调队列
-----树-------
[
BZOJ1791
][IOI2008]岛屿Island(基环树的直径)
传送门 先转换一下题目所给的图: 给一个n个点n条边的图,不一定连通,但是不连通的地方可以用没有权值的虚边连接起来,既然可以任意连虚边那么我们就可以把原图中的一个个块分开处理。 然后分析这是什么图,因为一定有n个点n条边所以假如两个点之间没有边那么某一个块中一定会多出一条边来满足数量有n条。所以原图中每个连通块的边数=点数,刚好与基环树的性质契合,所以原图=基环树森林。 那
_Mocha_
·
2018-10-28 18:31
基环树
[
BZOJ1791
][IOI2008] Island 基环外向树+DP
题中说每个点连出一条边,所以图应该是很多个基环+外向树。对于每一个联通块,一条最长路径可能在某一棵子树中,也可能两棵子树各一部分加上中间一段环的路径。所以先找出它的环,对每棵树先进行树型DP,记到根最长距离为g[i]。然后把环展开(1-2-3的环展开成1-2-3-1-2),维护一个距离前缀和dis[i],这就是一个决策区间单调移动的DP了,方程为f[i]=max{g[j]-dis[j]}+dis[
DOFYPXY
·
2017-04-27 08:21
dp
dp
树
【
BZOJ1791
】【IOI2008】【基环树】island(status速度第一)
1791: [Ioi2008]Island 岛屿 Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 908 Solved: 159[Submit][Status]Description你将要游览一个有N个岛屿的公园。从每一个岛i出发,只建造一座桥。桥的长度以Li表示。公园内总共有N座桥。尽管每座桥由一个岛连到另一个岛,但每座桥均可以双向行走。同
Vmurder
·
2014-08-30 06:00
Island
基环树
IOI2008
status第一
BZOJ1791
上一页
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
其他