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
BZOJ3531
BZOJ3531
SDOI2014旅行 【离线+树链剖分】
传送门SOL:首先不难发现此题是一个树上修改。树剖是一定的。但是,询问的是一条路上同一颜色的权值和,颜色最多有1e5种,如果每一种颜色都维护一棵线段树显然要爆空间。此时我们可以想到离线。先处理一种颜色的修改和询问,统计好答案清空后再处理下一种颜色。(思路类似SDOI2008郁闷的小J)注意一点,这里是单点修改。如果是区间修改最坏会被卡成n2n^2n2。。。代码细节:一,结构体定义c:颜色t:此操作
Junwinds
·
2023-10-31 23:01
数据结构
树链剖分
woj
Bzoj3531
:[Sdoi2014]旅行:树链剖分+动态开点线段树
题目链接:[Sdoi2014]旅行对于每种颜色维护一颗线段树,为了节约空间这里我们动态开点然后就是弱鸡的线段树操作了指针的动态开点线段树现在才会写……#include#include#include#includeusingnamespacestd;constintmaxn=100010;constintmaxc=100001;intn,m,tot=0,h[maxn],s[maxn],ind=0;
TheWolfWhistlingSong
·
2020-09-16 18:14
OI
树链剖分
普通线段树
BZOJ3531
: [Sdoi2014]旅行
题目描述S国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。为了方便,我们用不同的正整数代表各种宗教,S国的居民常常旅行。旅行时他们总会走最短路,并且为了避免麻烦,只在信仰和他们相同的城市留宿。当然旅程的终点也是信仰与他相同的城市。S国政府为每个城市标定了不同的旅行评级,旅行
wondover
·
2020-08-11 01:51
树链剖分
线段树
数据结构
bzoj3531
: [Sdoi2014]旅行(树链剖分+线段树)
题目传送门。解法:据说叫动态开点。需要用的点才建线段树。那么最多只有二十万种不同的信息。。跟主席树一样嘛。YY就好了代码实现:#include#include#include#include#include#include#includeusingnamespacestd;structnode{intx,y,next;}a[210000];intlen,last[110000];voidins(i
Hanks_o
·
2018-04-22 16:30
树链剖分
线段树
BZOJ
bzoj3531
/洛谷P3313 旅行 树剖+动态开点线段树
题目分析【提示】您已获得新技能:动态开点线段树这道题,如果没有只能留宿于信仰相同的城市这个规定,显然是用树剖瞎搞一通,再用线段树瞎搞一通。现在有了宗教信仰的规定,很容易想到的一个思路是对于每个宗教开一棵线段树。但是这样空间会GG,所以又想到动态开点线段树。所谓动态开点线段树,就是你的编号不能和普通线段树一样,x的儿子是x∗2x∗2和x∗2+1x∗2+1,而应该新编号。除此之外,和普通线段树没有什么
litble
·
2018-03-08 17:46
数据结构
[
bzoj3531
][树链剖分]旅行
DescriptionS国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。为了方便,我们用不同的正整数代表各种宗教,S国的居民常常旅行。旅行时他们总会走最短路,并且为了避免麻烦,只在信仰和他们相同的城市留宿。当然旅程的终点也是信仰与他相同的城市。S国政府为每个城市标定了不同的
Rose_max
·
2017-12-03 14:38
bzoj
树链剖分
OI路漫漫
bzoj3531
[Sdoi2014]旅行(树链剖分+动态开点线段树)
我们给每个宗教都建一棵线段树,维护区间和和区间最大值。但是这样会MLE,因此我们掌握了新技能:动态开点线段树。也就是不预先把所有点都建出来,用到才建。每次最多建logn个点,所以开到mlogn就足够了。这样还要记录每棵树的左右儿子,因为他们已不再是pusingnamespacestd;#defineN100010inlineintread(){intx=0,f=1;charch=getchar()
Icefox_zhx
·
2017-09-09 12:34
bzoj
线段树
树链剖分
BZOJ3531
: [Sdoi2014]旅行
DescriptionS国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。为了方便,我们用不同的正整数代表各种宗教,S国的居民常常旅行。旅行时他们总会走最短路,并且为了避免麻烦,只在信仰和他们相同的城市留宿。当然旅程的终点也是信仰与他相同的城市。S国政府为每个城市标定了不同的
cx_lzx
·
2017-08-14 15:16
树链剖分
线段树
【
BZOJ3531
】旅行(线段树)
传送门IThink题意:一棵树上节点有两个点权c1,c2,求(x,y)两点路径中c2与x的c2相同的城市的c1总和/最大值,两个点权均带修改。算法:线段树(动态开点)+树链剖分实现:对每一种c2(信仰)建立线段树,维护以之为信仰的城市的c1。Attention!1)动态删点要带&2)对于每一个修改操作,不仅在线段树上更改,还要更改原数组的值。Code#includeusingnamespacest
Etta19
·
2017-07-20 10:03
线段树
树链剖分
[
BZOJ3531
] SDOI2014 树链剖分+动态开点线段树
首先发现是一棵树,想到树链剖分来维护路径。但是如何把不同宗教的点分开计数?想到给每一个宗教开一颗线段树来维护,因为总共点数只有10^5个,可以采取动态开点来保证内存不超。代码typextree=^xtreenode;xtreenode=recordmax,sum,l,r:longint;ls,rs:xtree;end;edge=^edgenode;edgenode=recordt:longint;
DOFYPXY
·
2017-02-27 21:30
数据结构
BZOJ3531
SDOI2014 旅行 树链剖分+线段树
每个宗教建一颗线段树,然后随便做……考虑到如果把每一棵线段树都建完全会MLE,所以我们开动态内存。因为给出的评级都是正整数,所以如果一个区间的和为0,delete掉#include #include #include #include #include usingnamespacestd; constintMAXN=100000+2; structHASH{ intu; HASH*next; H
WDZRMPCBIT
·
2016-04-29 17:00
BZOJ3531
【Sdoi2014】旅行
Description给定一棵有n个节点的无根树,每个节点有w和c两个属性,有四种操作:1、更改某个节点的c属性2、更改某个节点的w属性3、询问x到y的路径上c属性和x相同的节点的w属性之和4、询问x到y的路径上c属性和x相同的节点的w属性最大值Solution询问主要和w有关,而c又只有单点修改,于是我们可以为每一个c的值建一棵线段树,与当前线段数所代表的c值不同的节点在当前线段树上的值为0,每
Elemmir
·
2016-04-20 20:16
树链剖分
【
bzoj3531
】[Sdoi2014]旅行 动态开点的线段树
动态开点的线段树开c棵线段树CC对应删除一个节点,增加一个节点CW对应修改一个节点QS查询对应线段树中部分的和QM查询对应线段树中部分的最大值所谓动态开点,就是每个节点用的时候再开,可以去掉许多无用的节点。总共O(nlogn)级别个节点#include#include#include#include#include#include#definemaxn200010#defineN10000100u
qingdaobaibai
·
2016-04-13 09:43
数据结构
【
bzoj3531
】[Sdoi2014]旅行 动态开点的线段树
动态开点的线段树开c棵线段树CC对应删除一个节点,增加一个节点CW对应修改一个节点QS查询对应线段树中部分的和QM查询对应线段树中部分的最大值所谓动态开点,就是每个节点用的时候再开,可以去掉许多无用的节点。总共O(nlogn)级别个节点#include #include #include #include #include #include #definemaxn200010 #defineN10
u012288458
·
2016-04-13 09:00
bzoj3531
旅行 树链剖分
树剖后直接对每一个宗教建立一颗线段树维护就好了。AC代码:#include #include #include #defineN100005 #defineM10000005 usingnamespacestd; intn,m,trtot,tot,dfsclk,a[N],b[N],d[N],fa[N],fst[N],pnt[N'9')ch=getchar(); while(ch>='0'
lych_cys
·
2016-04-04 20:00
线段树
树链剖分
[
BZOJ3531
][SDOI2014]旅行(链剖+线段树动态开点)
题目描述传送门题解神烦一下午==不过这道题挺好的,让我真正明白了动态开点。和主席树有区别。之前的思路是对的,但是动态开点一直写挂,链剖什么的还是没问题的。链剖是一眼就能看出来的;需要给每一个宗教建一棵线段树,线段树用动态开点。代码#include#include#includeusingnamespacestd;constintmax_n=1e5+5;constintmax_sz=18;const
Clove_unique
·
2016-03-21 18:43
题解
线段树
省选
树链剖分
[
BZOJ3531
][SDOI2014]旅行(链剖+线段树动态开点)
题目描述传送门题解神烦一下午==不过这道题挺好的,让我真正明白了动态开点。和主席树有区别。之前的思路是对的,但是动态开点一直写挂,链剖什么的还是没问题的。链剖是一眼就能看出来的;需要给每一个宗教建一棵线段树,线段树用动态开点。代码#include #include #include usingnamespacestd; constintmax_n=1e5+5; constintmax_sz=18
Clove_unique
·
2016-03-21 18:00
线段树
bzoj
SDOI
链剖
动态开点
[
bzoj3531
][SDOI2014]旅行
题目大意给定一颗树,每个节点有颜色和权值,你需要兹瓷四个操作:1、改变一个点的颜色2、改变一个点的权值3、询问一条路径上和起点同颜色的点的和4、询问一条路径上和起点同颜色的点的最大值题解和数树数思路相同树剖维护即可#include #include #include #definefo(i,a,b)for(i=a;isize[j])j=go[t]; } t=next[t]; } if(!j)ret
WerKeyTom_FTD
·
2016-03-04 21:00
[
BZOJ3531
] [SDOI2014] 旅行
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=3531题目大意给定一棵树,每个点有一个权值和一个颜色,多次改变一些点的权值和颜色,多次求一条路径上与起点和终点颜色相同的点的权值和以及权值最大值题解按照颜色建颜色种类棵线段树,当然明显内存承受不了,所以我们动态开点,不明白的看代码const maxn=100050; var w:array[0.
slongle_amazing
·
2016-02-18 11:00
bzoj3531
【SDOI2014】旅行
3531:[Sdoi2014]旅行TimeLimit: 20Sec MemoryLimit: 512MBSubmit: 850 Solved: 433[Submit][Status][Discuss]Description S国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信
AaronGZK
·
2016-02-03 00:00
线段树
树链剖分
bzoj
【SDOI2014】【
BZOJ3531
】旅行
DescriptionS国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。为了方便,我们用不同的正整数代表各种宗教,S国的居民常常旅行。旅行时他们总会走最短路,并且为了避免麻烦,只在信仰和他们相同的城市留宿。当然旅程的终点也是信仰与他相同的城市。S国政府为每个城市标定了不同的
CreationAugust
·
2016-01-13 14:03
随便搞搞
丧心病狂
【SDOI2014】【
BZOJ3531
】旅行
DescriptionS国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。为了方便,我们用不同的正整数代表各种宗教,S国的居民常常旅行。旅行时他们总会走最短路,并且为了避免麻烦,只在信仰和他们相同的城市留宿。当然旅程的终点也是信仰与他相同的城市。S国政府为每个城市标定了不同的
CreationAugust
·
2016-01-13 14:00
LCT
【
BZOJ3531
】【Sdoi2014】旅行 树链剖分。
广告:#include intmain() { puts("转载请注明出处[vmurder]谢谢"); puts("网址:blog.csdn.net/vmurder/article/details/44026729"); }题解:开10W棵线段树,然后节点动态加。然后对于单独线段树树剖。天哪!!CFree竟然吞了我一个’&’符号。恶心死了找了正经好一会。代码:#include #include #
Vmurder
·
2015-03-03 00:00
旅行
树链剖分
BZOJ3531
SDOI2014
上一页
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
其他