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
#线段树
题解:最少的交换(逆序对)(了解
线段树
后接着学习其他做法)
题目描述现在给你一个由n个互不相同的整数组成的序列,现在要求你任意交换相邻的两个数字,使序列成为升序序列,请问最少的交换次数是多少?输入输入包含多组测试数据。每组输入第一行是一个正整数n(nusingnamespacestd;inta[500010],b[500010];longlongintcount;voidMerge(intstart,intmid,intend){inti=start,j=
嘘......
·
2020-08-13 11:40
BJOI2017 树的难题 点分治+
线段树
我们考虑用两颗
线段树
维护。
线段树
的坐标表示长度。对于每一组询问,要从[max(0,L-num),y-num]中找到最大值。为了方便起见,把所有长度都+1。由
Exception2017
·
2020-08-13 11:59
点分治
线段树
BZOJ4860: [Beijing2017]树的难题
我比较脑抽,写的是从大到小排序,然后跑
线段树
,复杂度$O(n\log^2n)$。
weixin_30242907
·
2020-08-13 11:22
CSU 1811 Tree Intersection(
线段树
+启发式合并 解法)
转自:http://m.blog.csdn.net/hackertom/article/details/71304826Problemacm.csu.edu.cn/csuoj/problemset/problem?pid=1811vjudge.net/contest/161962#problem/IReferenceblog.csdn.net/qwb492859377/article/detail
alpc_qleonardo
·
2020-08-13 10:08
可持久化线段树
线段树
---------Online
Judge--------
CSU
CSU
线段树
启发式合并
主席树
数据结构
HDU 1542 && POJ 1151 Atlantis(
线段树
+扫描线)
题目地址:HDOJ地址:HDU1542POJ地址:POJ1151第一发扫描线。。费了好大一番功夫。。构思用了半天。。写出来调试成功用了半天。。。真是弱渣。。所谓扫描线就是从上往下或从下往上扫描,每到一个边,就进行增或删的处理。最后出来的值就是总的面积。对于求面积并的问题,可以参考这篇博客(博客地址),讲的不错。具体实现过程是用lazy标记此时的边数量,如果大于0,说明这个地方有边,等于0则说明没有
Aerolite坠落
·
2020-08-13 10:36
线段树
动态逆序对 BIT套
线段树
动态逆序对Code#include#definerep(i,a,b)for(inti=(a);i>1;sum[o]+=v;if(L==R)return;if(x>1,tot=0;if(M+1>v){boolok=0;for(inti=r;i;i-=lowbit(i))tot+=sum[rc[A[i]]];for(inti=l;i;i-=lowbit(i))tot-=sum[rc[B[i]]];fo
ShɑΙteж
·
2020-08-13 10:08
数据结构
【HDU 5997】 rausen loves cakes 【启发式合并+
线段树
】
换成数字y2.输出[l,r]中有几段不同的数字题解:这题可以采用启发式合并,也就是每次把个数少的往个数大的上面合并,这样如果要合并成n个一样的最坏的情况是nlogn的(n/2*logn)然后合并的时候用
线段树
单点更新下就行时间复杂度
sjtsjt709
·
2020-08-13 10:35
ACM
【洛谷P4219】【BJOI2014】—大融合(
线段树
合并)
传送门
线段树
合并基础题考虑到我们先把最后连完所有边的森林建出来发现这样每次连边的操作就是在合并两个子树然后又发现对于一条边(u,v)ϵsubtreert(u,v)\epsilonsubtree_{rt}
Stargazer.
·
2020-08-13 10:44
[BJOI2017]树的难题【点分治+
线段树
】
题目链接很容易想到的是,我们可以对首先对每个点连出去的边按照边颜色进行排序,这样就可以保证一段相同的是会在一起出现的,然后我们可以进行点分治,再利用
线段树
维护深度对应的最大权,我们需要两棵
线段树
,一棵维护不同值
Andres_Lionel
·
2020-08-13 10:09
点分治
线段树
HDU-4578
线段树
懒惰标记的下推顺序(好题)
链接点击打开链接Yuanfangispuzzledwiththequestionbelow:Therearenintegers,a1,a2,…,an.Theinitialvaluesofthemare0.Therearefourkindsofoperations.Operation1:Addctoeachnumberbetweenaxandayinclusive.Inotherwords,dotr
独-
·
2020-08-13 10:39
bzoj 3123: [Sdoi2013]森林 启发式合并+可持久化
线段树
题意:给出一片森林,每个点有点权,要求资瓷两个操作:询问两点间路径的第k小点权;加一条边分析:如果没有合并操作的话就是裸的可持久化
线段树
啦。
SFN1036
·
2020-08-13 10:39
可持久化线段树
NKOJ P3754 数列游戏【
线段树
+ 差分数组】
P3754数列游戏时间限制:-MS空间限制:65536KB评测说明:时限1000ms问题描述给定一个长度为N的序列,首先进行A次操作,每次操作在Li和Ri这个区间加上一个数Ci。然后有B次询问,每次询问Li到Ri的区间和。初始序列都为0。输入格式第一行三个整数NAB。(1usingnamespacestd;#definelllonglong#definemod(x)((x)%MOD)constin
nobleman__
·
2020-08-13 10:19
差分数组
bzoj2733 永无乡
线段树
合并
那么考虑用可持久化
线段树
来写。对每一个节点保存一棵
线段树
表示所在块的编号的集合(因此可以一个块值保存一棵树),然后合并的时候就地柜合并左子节点和右子节点,然后更新节点的值即可。
lych_cys
·
2020-08-13 10:04
bzoj
【BJOI2017】树的难题【点分治】【
线段树
】
传送门传送门题意:给一棵树,树上有颜色,每种颜色有权值,定义一条路径的权值为所有颜色相同段的权值之和,求长度在[L,R][L,R][L,R]中的路径的最大权值。数据范围:暴力过不了显然是个点分治对于分治中心考虑过中心的路径贡献的答案(以下的“子树”指根直接与分治中心相连的子树)把分治中心作为根,定义一棵子树的颜色为与根(即分治中心)相连的边的颜色显然可以算出两边的贡献,如果两边颜色一样,再减掉这个
Lstdo
·
2020-08-13 10:33
启发式合并&
线段树
合并&treap合并&splay合并
启发式合并有n个集合,每次让你合并两个集合,或询问一个集合中是否存在某个元素。我们可以用平衡树/set维护集合。对于合并两个A,B,如果|A|<|B|,那么我们就把A中的每个元素暴力加到B中,否则就把B中的元素暴力加到A中。对于一次把A中的每个元素暴力加到B中的操作,|A|会变成|A|+|B|,也就是说大小至少会翻倍,所以一个元素最多被暴力插入logn次。每次插入的时间复杂度是O(logn),所以
ez_yww
·
2020-08-13 10:17
知识点讲解
数据结构
数据结构--平衡树
数据结构--线段树合并
数据结构--启发式合并
数据结构--treap合并
bzoj 4860 [BeiJing2017]树的难题
题解点分治设当前重心为v假设已经把所有边按照出发点第一关键字,颜色第二关键字排序对于当前的v我们顺次考虑他的出边设当前出边(v,nw)颜色col我们枚举nw的出边对于一条nw的出边而言,分为两种情况1.颜色与col相同用
线段树
维护深度及对应的最值
aozhuan8489
·
2020-08-13 10:53
【例题】【
线段树
】连续区间
1、NKOJ2753区间连续值时间限制:10000MS空间限制:65536KB问题描述有一数列只有0和1构成,数列中数字个数为为n。现在有m个形式为xy的提问,询问区间[x,y]中,最多有多少个连续的1。对于每个询问,请你快速做出回答输入格式第一行,两个整数n和m第二行,n个空格间隔的数字,表示数列接下来m行,每行两个空格间隔的整数x和y,表示一个询问(x#includeusingnamespac
Y__XV
·
2020-08-13 10:12
例题
线段树
[bzoj4860]树的难题
顺序扫,同颜色的用一颗
线段树
,其他也用一颗
线段树
。每扫过一个颜色合并一下两颗
线段树
。这个方法比单调队列不知道低到哪里去了。#include#include#definemax(a,b)(a>b?
WerKeyTom_FTD
·
2020-08-13 10:11
点分治
线段树
单调队列
ZOJ - 2301- Color the Ball(
线段树
区间染色+离散化)
题解:这个题目跟POJ-2528很相似,推荐先去做做这个题目,离散化操作,以离散化后的数组下标作为
线段树
的建树区间,但是这里要注意一下,不同于POJ-2528,那个题目要求的是最终有多少种颜色,不精确到具体区间
Rotepad
·
2020-08-13 10:50
ACM_刷题
ACM_线段树
BZOJ - 5028 -小Z的加油店(
线段树
+区间更新+gcd)
题目:BZOJ-5028题解:扩展裴蜀定理+差分+
线段树
求从l到r的最小能得到的油量就是求l~r范围内a[i]的gcd由性质gcd(a,b)=gcd(a,b-a)可得区间gcd可变为:gcd(a[l],
Rotepad
·
2020-08-13 10:50
ACM_刷题
ACM_线段树
ACM_数论
Phoenix and Memory(贪心+
线段树
)
F.PhoenixandMemorytimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputPhoenixistryingtotakeaphotoofhisnnfriendswithlabels1,2,…,n1,2,…,nwhoarelinedupinarowinaspe
LSD20164388
·
2020-08-13 10:19
其他:细节处理
数据结构:贪心
数据结构:线段树/树状数组
COCI 2017/2018 Round #2,November 4th,2017 F Plahte[
线段树
+set启发式合并]
然后我们通过遍历x通过
线段树
得出矩形的覆盖情况与点所属的最小矩形。然后遍历这颗树,通过set保存颜色,启发式合并得出答案。时间复杂度为O(n*logn+n*logn*l
ACTerminate
·
2020-08-13 10:59
线段树
启发式合并
BZOJ4860 BJOI2017 树的难题 点分治、
线段树
合并
传送门只会
线段树
……关于单调队列的解法可以去看“重建计划”一题。看到路径长度$\in[L,R]$考虑点分治。
weixin_30636089
·
2020-08-13 10:47
[BJOI2017]树的难题 点分治
线段树
维护2棵
线段树
,分别表示与当前接口颜色不同和颜色相同。如果我们遍历完了一棵子树,就将这棵子树的答案加入到颜色相同的
线段树
里面。如果我们遍历完了一段颜色,就将第2个
线段树
合并到第一个
线段树
里
weixin_30919571
·
2020-08-13 10:47
[BJOI2017]树的难题 点分治,
线段树
合并
[BJOI2017]树的难题LG传送门点分治+
线段树
合并。我不会写单调队列,所以就写了好写的
线段树
。考虑对于每一个分治中心,把出边按颜色排序,这样就能把颜色相同的子树放在一起处理。
weixin_30344795
·
2020-08-13 10:15
BZOJ 2212
线段树
启发式合并
简略题意:现在有一棵二叉树,所有非叶子节点都有两个孩子。在每个叶子节点上有一个权值(有n个叶子节点,满足这些权值为1..n的一个排列)。可以任意交换每个非叶子节点的左右孩子。要求进行一系列交换,使得最终所有叶子节点的权值按照遍历序写出来,逆序对个数最少。考虑题中的唯一操作,交换两个孩子。对每个节点考虑两个孩子对答案的贡献:左孩子的贡献+右孩子的贡献+左孩子比右孩子大产生的贡献。交换两个孩子只会使得
meopass
·
2020-08-13 09:28
数据结构
启发式合并
BZOJ 4860: [BeiJing2017]树的难题 点分治+
线段树
不同的话直接将权和相加,相同的话还需要减掉重复部分,这就比较难办.但是我们发现,当以$x$为分治中心时,$x$每一个儿子为根的子树的延伸颜色都是相同的.所以我们可以将每一个点的所有儿子按照延伸颜色排序,然后维护两颗
线段树
EM-LGH
·
2020-08-13 09:55
【JZOJ5077】【GDOI2017第三轮模拟day2】树的难题
维护两颗
线段树
,一颗表示与当前走的儿子颜色不同的答案,一颗表示颜色相同的答案。颜色改变时用
线段树
合并一下即可。时间复杂度O(Nlog2N).Code#include#include#inc
dance_in_the_dark
·
2020-08-13 09:19
GDOI
树
树分治
机智题
线段树
[BJOI2017]树的难题
考虑点分治,然后问题转换成求过根节点的路径的最大值,这种东西一般性就是搞一个
线段树
然后每一次合并一下两个子树然后查最大值即可其实我自己也不是很懂,这题确实很神仙#include#include#include
araw94333
·
2020-08-13 09:48
BJOI2017 树的难题【树的点分治】【
线段树
(修改/查询/合并)】
本人最近做模拟赛遇到的一道特别好的题目,把此题本人的见解和做法分享出来作为本蒟蒻的又一篇题解,有什么缺点请大家指出,谢谢!(下面附有code)题目描述输入格式样例输入8434-7961121132141251562371383输出格式样例输出11数据范围题解精简版:这种树上乱七八糟的题显然是要用树的点分治的( ̄▽ ̄),找到当前的根,考虑到颜色段的存在,所以我们排序出边颜色相同的放在一起(为了判重*
czj LUCK
·
2020-08-13 09:38
算法
数据结构
POJ 2528 (
线段树
+离散化)
Mayor'spostersTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:24268Accepted:7021DescriptionThecitizensofBytetown,AB,couldnotstandthatthecandidatesinthemayoralelectioncampaignhavebeenplacingtheirele
mad_lpx
·
2020-08-12 17:41
ACM之路
struct
build
integer
each
numbers
input
时间管理,
线段树
,区间gcd修改,求和
时间管理题意比较明显了。关键是维护gcd区间修改。任老板直播的时候讲了:在对一段区间做x变换后,下一次操作可能对区间内的数没有实质性的改变,比如如果区间内的数全部变成1,无论什么数进行修改区间,区间的值不发生变化。具体怎么操作,维护了区间最大值和最小值,如果区间最大值=最小值=gcd(修改的值,最大值)那么说明本次修改对区间没有贡献,可以直接返回。然后指出这个算法不足之处比如对于242424242
backordinary
·
2020-08-12 16:02
训练赛
线段树
10、
线段树
(segment_tree)
1、简介
线段树
算法是一种快速查询一段区间内的信息的算法,由于其实现简单,所以广泛应用于程序设计竞赛中。
线段树
是一棵完美二叉树,即所有的叶子节点的深度均相同,并且所有的非叶子节点都有两个子节点。
阿牧路泽
·
2020-08-12 12:03
Python3
数据结构与算法
牛客多校10 - Decrement on the Tree(边权转点权+思维)
使得路径上的权值减一,问最少需要进行多少次操作才能使得所有的边权变为0,输出这个操作次数,再给出m次询问,每次询问会修改一条边权,每次需要回答修改边权后的答案题目分析:读完题的第一感觉是树形dp然后用树剖+
线段树
优化
Frozen_Guardian
·
2020-08-12 10:48
图论
思维
蓝桥杯刷题(二)
gpid=T442题解:正解是用
线段树
+扫描线。而这里我使用的方法比较简单,但是比较耗费时间。我采用打表,总计一个格子内的数据标记上,最后遍历整个范围,找出ans。
清风紫雪
·
2020-08-11 23:00
线段树
+反素数求因子个数最多
思路:用
线段树
来存储整个区间中的剩余人的个数、然后用反素数来找因子数最多的人的出队的序号。反素数就是对x来说约束个数G(x
HAI__嗨I起来
·
2020-08-11 21:49
---线段树----
----数学知识------
Wi Know (思维+
线段树
)
在字符串中找ABAB形的子序列,输出字典序最小的AB题解:枚举每个位置作为B1,在该位置与这个字符的下一个位置B2之间查找最小的A2,而在B1之前,所有字符都可以作为A1,已经把它们的下一个A2放到了
线段树
里
Angel_yin
·
2020-08-11 19:00
codeforce 6E
线段树
+枚举
http://codeforces.com/problemset/problem/6/EThereareseveraldaysleftbeforethefiftiethbirthdayofafamousBerland'swriterBerlbury.Inthisconnectionthelocallibrarydecidedtomakeanexpositionoftheworksofthisfam
life4711
·
2020-08-11 18:00
线段树&&数组数组
数据结构
OI题目类型总结整理
##本蒟蒻的小整理qwq~~持续更新(咕咕咕)数据结构数据结构知识点梳理数据结构——
线段树
推荐yybdalao的总结——戳我以后维护
线段树
还是把l,r写到struct里面吧,也别写len了,调试不好调qwq
weixin_30552811
·
2020-08-11 15:08
二叉树创建及遍历
5.堆,并查集:对数据进行特殊的操作产生高效的结果6.
线段树
,Trie(字典树,前缀树)。二分搜索树二分搜索树是一种二叉树。每个结点的值大于其
Yingmu__
·
2020-08-11 15:52
数据结构
[CodeForces #80 Div 1 D] 分块+树状数组/
线段树
Part1题解题意给出一个长度为N(≤300000)的数列ai,再给出M个询问,每个询问是形如(x,y)的形式,你需要输出ax+ax+y+ax+2y+...+ax+ky的和,其中x+(k+1)y>N。分析PS:这道题的做法是对大小进行分块对于每个询问,首先我们想到的方法是依次将ax,ax+y,…,ax+ky来相加。但是这样会TLE。我们应该想一下出现超时的原因,并从这方面加以改进。超时的原因:y可
y20070316
·
2020-08-11 15:08
分块
线段树
树状数组
如何巧妙地应对丧心病狂的出题人进行1e6次的区间最值查询---ST表
的一类题啦相对ST表来说,
线段树
和树状数组应运的会比较多。但对于那种丧心病狂的查询1e6次的出题人来说,他会想方设法的卡掉查询时间复杂度为nlogn的
线段树
和树状数组。(非人哉!)
weixin_34220834
·
2020-08-11 14:04
吉首大学2019年程序设计竞赛(重现赛)-K(
线段树
)
思路:区间查询和区间修改,明显可以用
线段树
来做,我们先分析下复杂度,每次操作复杂度为logn,有m次操作(m#include#includeusingnamespaces
weixin_30757793
·
2020-08-11 14:04
ACM-自学之旅
分类知识清单数据结构链式前向星树状数组
线段树
线段树
的区间合并基于ST表格的RMQ树链剖分树上差分图论最近公共祖先树的直径、树的重心与树的点分治树的最小支配集,最小点覆盖与最大独立集求无向连通图的割点数学鸽巢原理群和
bo o ya ka
·
2020-08-11 14:19
数据结构与算法
hdu4027-
线段树
题意是给你一段数组,区间修改该数的平方根,求区间和。有三个点需要注意:1.题意说了四舍五入,但是解题不需要2.区间可能给的是从大到小(0101)3.数据范围很大,用longlong存储另外注意一下格式#include#include#includeusingnamespacestd;#defineintlonglongconstintMAX_N=200010;ints[4*MAX_N];voidu
杨虎大大
·
2020-08-11 13:13
线段树
2017年ICPC中国大陆区域赛 - Sum of xor sum (
线段树
维护子段)
题意:链接:https://vjudge.net/contest/319951#problem/T给你n个数,和q次询问,每次询问给你[l,r],让输出在区间[l,r]里每一个子区间亦或和加和。比如:给你三个数1、2、3、和一个询问[1,3],需要输出1+2+3+1^2+2^3+1^2^3。(1≤N,Q≤100000,1≤i≤N,0≤A[i]≤1000000,1≤L≤R≤N)解题思路:这个题目可以
ltrbless
·
2020-08-11 12:21
ACM
数据结构
ICPC中国大陆区域赛
2019ccpc icpc网络赛赛后总结
到现在一共打了七场网络赛每一场都让人感慨颇深第一场是ccpc在航电上打的,我知道很难打,也知道自己和别人的差距,但是也没想到差距这么大,那种高级
线段树
都成为了签到题,自己还不熟悉??
lee371042
·
2020-08-11 12:12
其他
[可持久化
线段树
] codeforces 707D. Persistent Bookcase
D.PersistentBookcase题意:一个n∗m矩阵A,维护4种操作:1ij:把第A[i][j]赋值为12ij:把第A[i][j]赋值为03i:把A[i]的0变1,1变04i:回到第i个操作之后的状态数据保证合法。每个操作完成后输出整个矩阵1的个数。思路:一维的话就可持久化就好啦,二维的话就可持久化套可持久化就好啦。对操作3稍加思考的话可以发现可以像其他操作一样O(1)的完成。每次都是对整
kg20006
·
2020-08-11 12:56
ACM
题解
poj 1166 敌兵布阵
线段树
敌兵布阵TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):44035AcceptedSubmission(s):18715ProblemDescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿
imfuture
·
2020-08-11 12:53
算法
hdu 2795 (
线段树
)
原题在此题意是在学校门前有一块宣传板,长w,高h,按照单位长度划分成h行。有n个长度分别为wi(1#include#include#include#include#include#include#defineLlonglong#definemax(a,b)a>b?a:b;#definemin(a,b)a>b?b:a;usingnamespacestd;inth,w,n;inta[400000004
imfuture
·
2020-08-11 12:53
上一页
59
60
61
62
63
64
65
66
下一页
按字母分类:
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
其他