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
BZOJ3211
bzoj3211
花神游历各国
DescriptionInputOutput每次x=1时,每行一个整数,表示这次旅行的开心度SampleInput41100555112212112223114SampleOutput1011111HINT对于100%的数据,n≤100000,m≤200000,data[i]非负且小于10^9SourceSPOJ2713gss4数据已加强看了好几道并查集的题都不会都说是和这道题一模一样那么我们来看
doge233
·
2020-09-15 22:24
并查集实现
暴力
数据结构
想法
[
bzoj3211
]花神游历各国
Description写一个数据结构兹瓷区间求和和区间开方。n#include#include#include#definefo(i,a,b)for(inti=a;im)change(v*2+1,m+1,r,x,y);elsechange(v*2,l,m,x,m),change(v*2+1,m+1,r,m+1,y);t[v]=merge(t[v*2],t[v*2+1]);}llfind(intv,
alan_cty
·
2020-09-15 22:15
树状数组
线段树
并查集
【
BZOJ3211
】花神游历各国 树状数组 并查集 均摊分析
链接:#includeintmain(){puts("转载请注明出处[vmurder]谢谢");puts("网址:blog.csdn.net/vmurder/article/details/44686727");}题解:一个点开几次方就没啦。所以我们只需要修改不是0或者1的点就行了。均摊基本O(n)。然后用并查集维护一个点右边第一个不是0的数。手写读入果然高大上。卡rank神器。顺便Orz一下wy
空灰冰魂
·
2020-09-15 21:27
树状数组
并查集
并查集的高级应用
均摊分析
BZOJ3211
花神游历各国
树状数组
并查集
均摊分析
bzoj3211
花神游历各国 线段树
题目大意:维护一个长度为n的序列,支持一下两个操作:1、区间开根号(向下取整);2、区间求和。n#include#include#defineN120000#definels(c)(c>1;build_tree(ls(c),l,mid);build_tree(rs(c),mid+1,r);seg[c].sum=seg[ls(c)].sum+seg[rs(c)].sum;seg[c].mark=se
Todobe
·
2020-08-24 05:16
bzoj
线段树
数据结构
线段树 从入门到进阶(超清晰,简单易懂)
单点查询第三部进阶线段树第四部乘法(根号)线段树1、乘法线段树2、根号线段树模板题与代码:单点修改,区间查询:洛谷树状数组模板1区间修改,单点查询:洛谷树状数组模板2区间加法,洛谷线段树模板1区间乘法:洛谷线段树模板2区间根号,
bzoj3211
繁凡さん
·
2020-08-16 03:10
【算法总结】合集
#
线段树
#
基础合集
BZOJ3211
[花神游历各国]--线段树
【链接】
bzoj3211
【解题报告】线段树。因为int范围下一个数最多开5次根号就会变为1。所以只需要在普通线段树上打一个标记就好了。
Greninja_Wu
·
2020-08-11 11:43
BZOJ题解
线段树
部分常见刷题网站的题解
By
Greninja
BZOJ题解
By
Greninja
bzoj3211
: 花神游历各国
/*向下取整smg!Popoqqq:题目大意:给定一个序列,提供下列操作:1.将[l.r]区间内每个数a[i]变为sqrt(a[i])2.查询[l,r]区间的和根号是不支持区间修改的,于是我们选择单点修改区间查询的树状数组,但是这样是O(n^2)的,怎么办?我们发现一个数x最多开loglogx次根号就会变为1也就是一个int范围内的数只要开6次根号就会变为1于是修改的总时间复杂度为O(nloglo
weixin_30911451
·
2020-08-05 11:03
bzoj 3211: 花神游历各国(区间开根号)
题目链接:
bzoj3211
题意:支持两种操作将区间[L,R]内的数字都开根号查询区间[L,R]内的数字的和线段树区间更新,只不过这次我们可能需要修改到单点,对于一个int范围内的非零数字来说最多开六七次就会达到
cy41
·
2019-06-06 20:29
线段树
[
BZOJ3211
]花神游历各国 势能线段树
势能线段树维护区间不为1的元素数量对于存在元素不为1的区间暴力递归修改/**************************************************************Problem:3211User:di4CoveRyLanguage:C++Result:AcceptedTime:2164msMemory:7928kb*************************
HbFS-
·
2017-04-23 19:02
线段树
bzoj 3038 树状数组+并查集
同
bzoj3211
鬼知道为什么数列中的数不大于1e12,但是要用int64来存开根号的数varn,m,op,l,r,c:longint;f:array[0..100010]oflongint;a:array
Eirlys_North
·
2017-02-22 23:23
树状数组
并查集
bzoj
[
BZOJ3211
]花神游历各国(线段树)
题目描述传送门题解同上帝造题的七分钟2区间修改全部下放到叶子节点对于开方到0或1不用再修改的点打标记代码#include#include#include#include#includeusingnamespacestd;#defineLLlonglong#defineN100005intn,m,opt,l,r;LLa[N],sum[N*4],ans;boolflag[N*4];voidupdate
Clove_unique
·
2017-01-29 19:37
题解
线段树
bzoj3211
花神游历各国 树状数组
注意到任意一个正数经过不超过5次操作就变成1,之后就不变了;0经过永远不变。那么可以用一个链表来表示某一个数之后的第一个>1的数,然后用并查集来合并即可。AC代码如下:#include #include #include #include #defineN100005 #definelllonglong usingnamespacestd; intn,m,a[N],fa[N];llc[N
lych_cys
·
2016-04-06 13:00
并查集
树状数组
[
BZOJ3211
]花神游历各国
花神游历各国DescriptionInputOutput每次x=1时,每行一个整数,表示这次旅行的开心度SampleInput41100555112212112223114SampleOutput1011111HINT对于100%的数据,n≤100000,m≤200000,data[i]非负且小于10^9Solution一个数最多只能开方loglog次,所以暴力开方,统计该区间是否还需要修改。Co
hbhcy98
·
2016-03-28 00:00
线段树
BZOJ3211
花神游历各国
211:花神游历各国TimeLimit:5SecMemoryLimit:128MBSubmit:1695Solved:646[Submit][Status][Discuss]DescriptionInputOutput每次x=1时,每行一个整数,表示这次旅行的开心度SampleInput41100555112212112223114SampleOutput1011111HINT对于100%的数据,
DCrusher
·
2015-11-29 16:19
并查集
树状数组
【
BZOJ3211
】【并查集+树状数组】花神游历各国
Description Input Output 每次x=1时,每行一个整数,表示这次旅行的开心度 Sample Input 4 1 100 5 5 5 1 1 2 2 1 2 1 1 2 2 2 3 1 1 4 Sample Output 101 11
·
2015-11-11 19:57
树状数组
bzoj3211
花神游历各国
线段树区间开方。。。直接暴力改到叶子。。 一开始数组开小RE。。。 #include<cstdio> #include<cstring> #include<cmath> #include<ctime> #include<cstdlib> #include<iostream> #include<al
·
2015-10-27 13:17
ZOJ
【
bzoj3211
】花神游历各国
其实这是一道sb题……哦不其实是两道2333333(还有3038也是同一题)然而在写3038的时候由于数据太水直接就A掉了。。。刚刚拿之前的code交上去就WA啦。。。不能判断区间和是否==r-l+1因为会出现0……所以要开多一个东西表示这个区间还有多少个数不会再改变了每个数可以开方的次数是很小的,就当做是常数非常小的O(logn)吧这样复杂度就是O(nlog2n)#include #define
GEOTCBRL
·
2015-09-28 21:00
BZOJ3038 &&
BZOJ3211
上帝造题的七分钟2 && 花神游历各国 (线段树 + 开方标记)
传送门这道题看一眼就知道是线段树的题目,但是一看,题目要求区间开方,我就又傻了。想了一会,发现就算是109在开方5次之后就变成1了,所以就算是我们单个开方,时间复杂度也就是O(NlogN)。但是为了避免重复开方,我们要给线段树的每一个节点做一个标记,表示下面的区间是否全部为1和0。那样我们就可以避免重复开方了。代码:#include #include #defineLLlonglong inlin
geng4512
·
2015-08-23 13:00
[
BZOJ3211
] 花神游历各国/[BZOJ3038] 上帝造题的七分钟2
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=3038http://www.lydsy.com/JudgeOnline/problem.php?id=3211题目大意给一个序列,支持两种操作1.对[L,R]内的数求和2.对[L,R]内的每一个a[i]变为sqrt(a[i])题解对于一个数一直开根号的话1012只要开7次就会变为1如果是0或1的
slongle_amazing
·
2015-08-17 21:00
BZOJ3211
花神游历各国(树状数组+并查集)
【题解】查询很容易做到O(logN)修改时注意:第i位上的数a[i]->sqrt(a[i]),最多执行30次,当a[i]==1后,可以不修改,直接跳过 跳到之后第一个大于1的位置上去,这个位置可以用并查集维护 由于每个点最被修改30次,修改的总复杂度为O(300*N)注意分析题目中修改操作的性质 注意两个小优化:1.fa[n+1]=n+1 2. if(a[i]>1)f
cjk_cjk
·
2015-06-18 02:00
并查集
树状数组
开平方
【
BZOJ3211
】花神游历各国
3211:花神游历各国TimeLimit:5SecMemoryLimit:128MBSubmit:1144Solved:416[Submit][Status][Discuss]DescriptionInputOutput每次x=1时,每行一个整数,表示这次旅行的开心度SampleInput41100555112212112223114SampleOutput1011111HINT对于100%的数据
CreationAugust
·
2015-04-10 07:00
线段树
BZOJ 3038 上帝造题的七分钟2 树状数组+并查集
题目大意:给定一个序列,提供下列操作:1.将[l.r]区间内每个数a[i]变为sqrt(a[i])2.查询[l,r]区间的和同
BZOJ3211
花神游历各国链接:http://blog.csdn.net/
PoPoQQQ
·
2014-10-10 17:00
并查集
树状数组
bzoj
BZOJ3038
上一页
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
其他