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
BZOJ3631
【
BZOJ3631
】[JLOI2014]松鼠的新家
题目大意:从编号1到n遍历图(中间经过点不算遍历过),求每个点经过了几次树剖,每次i到i+1都相当于一次链上修改,最后单点查询就行。#include#include#include#include#defineN300009#defineinf0x7fffff#definelllonglongusingnamespacestd;intn,number=0,cnt=0,first[N],father
wzf_2000
·
2020-09-14 21:28
bzoj
树链剖分
BZOJ3631
:[JLOI2014]松鼠的新家——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=3631https://www.luogu.org/problemnew/show/P3258松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在”树“上。松鼠想邀请小熊维尼前来参观,并且还指定一份
weixin_34415923
·
2020-09-14 21:29
php
BZOJ3631
BZOJ3631
题目
BZOJ3631
分析考虑LCALCALCA+差分主要算法不讲了。。
strategist_614
·
2020-09-14 20:59
BZOJ
[
BZOJ3631
] [JLOI2014] 松鼠的新家
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=3631题目大意给定一棵无根树和一个序列,在这个序列上依次遍历,求每个点的访问次数(最后一个点的访问次数要-1)题解树剖constmaxn=300010;varw:array[0..3*maxn,1..2]oflongint;bite,fa,son,size,dep,top,pos,x:array
slongle_amazing
·
2020-09-14 20:17
数据结构—树链剖分
数据结构—树状数组
bzoj3631
树剖+数组差分(就不用线段树)#includeusingnamespacestd;typedeflonglongLL;constintINF=0x3f3f3f3f;inlineintread(void){intx=0,c,f=1;do{c=getchar();if(c=='-')f=-1;}while(c'9');do{x=x*10+c-'0';c=getchar();}while(c>='0'&
fengchang3
·
2020-09-14 18:11
bzoj
数据结构
BZOJ3631
[JLOI2014]松鼠的新家(树链剖分)
直接进行树链剖分每一轮,路径上的点加1最后输出答案时,除起点外的结点权值要减1只用到区间增减,单点查询和值,因此并不需要线段树来维护另一种思路:类似前缀和的思想从起点x到终点y,只需给x,y两个结点加1,给LCA(x,y),fa[LCA(x,y)]减1,最后做一次从底到根的递推即可求出每个点在多少条链上树剖:#include#include#includeusingnamespacestd;vec
cjk_cjk
·
2020-09-14 18:54
树的分治
思路题
BZOJ3631
松鼠的新家(差分)
题目链接:
BZOJ3631
题解:从节点x走到节点y经过的所有节点都要放一块糖果,树上两个点之间的路径是唯一的,经过lca(x,y),所以可以差分来做。
XHRlyb
·
2020-09-14 18:39
树形dp
差分
差分
树形DP
[
BZOJ3631
]JLOI2014松鼠的新家|树上差分
看起来是一个裸的树链剖分,其实不用那么麻烦。。给每个点一个标记表示它到root上所有点权值+多少,把每一次将一条链上权值+1的操作差分就相当于把L,R标记+1,把lca和fa[lca]标记-1,最后把标记往上传就行了。。#include#include#defineN300005usingnamespacestd;structedge{inte,xu,next;}ed[N*4];intn,i,ne
Tag_king
·
2020-09-14 18:00
BZOJ
bzoj3631
松鼠的新家[LCA][树上差分]
3631:[JLOI2014]松鼠的新家TimeLimit:10SecMemoryLimit:128MBSubmit:1643Solved:776[Submit][Status][Discuss]Description松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在“树”上。松鼠想邀请小熊
SindarDawn
·
2020-09-14 18:22
LCA
bzoj
树上差分
重写
bzoj3631
: [JLOI2014]松鼠的新家 (树上差分)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=36313631:[JLOI2014]松鼠的新家TimeLimit:10SecMemoryLimit:128MBSubmit:2341Solved:1205[Submit][Status][Discuss]Description松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n
sega_handsome
·
2020-09-14 17:30
------树上差分
BZOJ 3631: [JLOI2014]松鼠的新家 树上差分_LCA
BZOJ3631
:[JLOI2014]松鼠的新家树上差分_LCACode:#include#definesetIO(s)freopen(s".in","r",stdin)#definemaxn300001usingnamespacestd
EM-LGH
·
2020-09-14 17:50
[
BZOJ3631
][洛谷P3258][JLOI2014]松鼠的新家
题目描述松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在”树“上。松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序,先去a1,再去a2,……,最后到an,去参观新家。可是这样会导致维尼重复走很多房间,懒惰的维尼不听地推辞。可是松鼠告诉他,每走到一个房间,他
infinity_edge
·
2020-09-14 17:39
bzoj
洛谷
bzoj3631
: [JLOI2014]松鼠的新家(树上差分)
bzoj3631
题目描述:松鼠的新家是一颗树,新家有n个房间,由n-1条边连接。小熊维尼要来参观,按一定的顺序参观n个房间,每到一个房间都要在那个房间拿走一个糖果(最后一个房间除外)。
diqiao4431
·
2020-09-12 02:19
[JLOI2014]松鼠的新家
题目:
BZOJ3631
、洛谷P3258。题目大意:有一棵n个点的树,和一个长度为n的序列a。现在要依次到达$a_1,a_2,a_3,...,a_n$节点,只能沿着树枝走。
ddpx3313
·
2020-07-15 22:49
c/c++
Bzoj3631
【JLOI2014】松鼠的新家
Solution先考虑在序列上的做法。注意到是先处理完所有修改后才做询问,那么每次区间加上一个数时就只须在左右端点分别打上一个+和-的标记,最后询问时将整个序列从左到右扫一遍即可。树上同理。#include#include#include#includeusingnamespacestd;constintmaxn=300005;structedge{intx,y,next;edge(){}edge
Elemmir
·
2016-04-20 21:13
树链剖分
[
BZOJ3631
][JLOI2014]松鼠的新家(链剖)
题目描述传送门题解小傻逼手残随便写链剖。代码#include#include#includeusingnamespacestd;constintmax_n=3e5+5;constintmax_e=max_n*2;constintmax_tree=max_n*5;intn,x,y,N;inta[max_n],ans[max_n];inttot,point[max_n],next[max_e],v[m
Clove_unique
·
2016-04-04 15:14
题解
省选
树链剖分
[
BZOJ3631
][JLOI2014]松鼠的新家(链剖)
题目描述传送门题解小傻逼手残随便写链剖。代码#include #include #include usingnamespacestd; constintmax_n=3e5+5; constintmax_e=max_n*2; constintmax_tree=max_n*5; intn,x,y,N; inta[max_n],ans[max_n]; inttot,point[max_n],next
Clove_unique
·
2016-04-04 15:00
bzoj
JLOI
BZOJ3631
松鼠的新家
3631:[JLOI2014]松鼠的新家TimeLimit:10SecMemoryLimit:128MBSubmit:1152Solved:586Description松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在“树”上。松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能
DCrusher
·
2016-03-24 14:21
线段树
树链剖分
[
BZOJ3631
] [JLOI2014] 松鼠的新家
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=3631题目大意给定一棵无根树和一个序列,在这个序列上依次遍历,求每个点的访问次数(最后一个点的访问次数要-1)题解树剖const maxn=300010; var w:array[0..3*maxn,1..2]oflongint; bite,fa,son,size,dep,top,pos,x:a
slongle_amazing
·
2016-02-18 13:00
论逗逼的自我修养——BZOJ第一页计划
现在都淦了65个题了【
BZOJ3631
】看着n挺大,我们考虑使用差分,
YJMWOI
·
2015-12-27 16:00
BZOJ3631
[JLOI2014]松鼠的新家(树链剖分)
直接进行树链剖分 每一轮,路径上的点加1最后输出答案时,除起点外的结点权值要减1只用到区间增减,单点查询和值,因此并不需要线段树来维护 另一种思路:类似前缀和的思想 从起点x到终点y,只需给x,y两个结点加1,给LCA(x,y),fa[LCA(x,y)]减1,最后做一次从底到根的递推即可求出每个点在多少条链上 树剖:#include #include #include usingnamespace
cjk_cjk
·
2015-05-20 02:00
树链剖分
树形DP
前缀和
BZOJ 刷题记录 PART 6
【
BZOJ3631
】这道题给我的启示是:要多想想算法。开始一直在打树链剖分,打到一半忽然在众神犇的提(bi)示(shi)下,发现有O(N)的方法。
u013724185
·
2014-07-03 14:00
题解
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
其他