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
线段树&树状数组
洛谷 1609
线段树
逛逛集市,兑兑奖品,看看节目对农夫约翰来说不算什么,可是他的奶牛们非常缺乏锻炼——如果要逛完一整天的集市,他们一定会筋疲力尽的。所以为了让奶牛们也能愉快地逛集市,约翰准备让奶牛们在集市上以车代步。但是,约翰木有钱,他租来的班车只能在集市上沿直线跑一次,而且只能停靠N(1≤N≤20000)个地点(所有地点都以1到N之间的一个数字来表示)。现在奶牛们分成K(1≤K≤50000)个小组,第i组有Mi(1
Anmoonna
·
2020-09-16 03:02
考试总结
洛谷P3373 【模板】
线段树
2 #
线段树
#
题目描述如题,已知一个数列,你需要进行下面三种操作:1.将某区间每一个数乘上x2.将某区间每一个数加上x3.求出某区间每一个数的和输入格式第一行包含三个整数N、M、P,分别表示该数列数字的个数、操作的总个数和模数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3或4个整数,表示一个操作,具体如下:操作1:格式:1xyk含义:将区间[x,y]内每个数乘上k操
SDUWH_2U
·
2020-09-16 03:18
XOJ
题解
线段树
洛谷-3372 【模板】
线段树
1
题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.求出某区间每一个数的和输入输出格式输入格式:第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3或4个整数,表示一个操作,具体如下:操作1:格式:1xyk含义:将区间[x,y]内每个数加上k操作2:格式:2xy含义
mkopvec
·
2020-09-16 03:59
模板
算法题
洛谷-3373 【模板】
线段树
2
题目描述如题,已知一个数列,你需要进行下面三种操作:1.将某区间每一个数乘上x2.将某区间每一个数加上x3.求出某区间每一个数的和输入输出格式输入格式:第一行包含三个整数N、M、P,分别表示该数列数字的个数、操作的总个数和模数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3或4个整数,表示一个操作,具体如下:操作1:格式:1xyk含义:将区间[x,y]内
mkopvec
·
2020-09-16 03:59
算法题
模板
多标记
线段树
处理法(洛谷3373,codevs4927)
1.洛谷P3373
线段树
2加法和乘法标记,处理方法:加法时直接添加标记,乘法时将加法标记也进行修改,在标记下放时,先放乘法(直接乘),再放加法(直接加),放乘法标记时要同时修改加法标记。
litble
·
2020-09-16 03:20
数据结构
洛谷3373
线段树
2题解(
线段树
)
nnn的序列,要求支持三种操作:1.给某一段加一个数.2.给某一段乘一个数.3.查询某一段的和.设操作数为mmm,1≤n,m≤1051\leqn,m\leq10^51≤n,m≤105.首先我们很容易用
线段树
维护没有区间乘法操作的情况
hezlik
·
2020-09-16 03:52
洛谷3372[模板]
线段树
1
题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.求出某区间每一个数的和输入输出格式输入格式:第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3或4个整数,表示一个操作,具体如下:操作1:格式:1xyk含义:将区间[x,y]内每个数加上k操作2:格式:2xy含义
dk810510
·
2020-09-16 02:30
洛谷1558 色板游戏
线段树
我先立个Flag我,这几天,要过1W道
线段树
题。题目背景阿宝上学了,今天老师拿来了一块很长的涂色板。题目描述色板长度为L,L是一个正整数,所以我们可以均匀地将它划分成L块1厘米长的小方格。
dizou7578
·
2020-09-16 02:30
色板游戏(
线段树
)
色板游戏题目背景:阿宝上学了,今天老师拿来了一块很长的涂色板。题目描述:色板长度为L,L是一个正整数,所以我们可以均匀地将它划分成L块1厘米长的小方格。并从左到右标记为1,2,…L。现在色板上只有一个颜色,老师告诉阿宝在色板上只能做两件事:1.“CABC”指在A到B号方格中涂上颜色C。2.“PAB”指老师的提问:A到B号方格中有几种颜色。学校的颜料盒中一共有T种颜料。为简便起见,我们把他们标记为1
背着代码的蜗牛
·
2020-09-16 02:50
题目
树结构
牛客网国庆七天乐Day 1 J.Princess Principal(多括号匹配,区间查询,预处理+
线段树
查询)
先呈上原题链接PrincessPrincipal这是2018年牛客网国庆集训的题目,不会也没补,后来准备参加秦皇岛CCPC-WinterCamp时在第一场热身赛时又遇到了。当时热身赛都过了一半了才想起这个事,在图书馆把签到题写了,刚看到这道题就被室友叫去打篮球了。虽然一直牵挂到这道题,直到今天才补上。。。算是一道比较经典的括号序列题了吧。题意:要快速判断一个文档有没有语法错误。有一个含有nnn个括
BNUbeginner
·
2020-09-16 02:12
数据结构
(
线段树
区间查询)
先呈上原题链接"Ray,Passmethedishes!"(vjudge)(大白书刷题笔记)又是一道比较练代码能力的题目,开始的时候常数写太大了还写成了O(n∗logn∗logn)O(n*\logn*\logn)O(n∗logn∗logn),数据范围又是5e55e55e5且多组数据,所以TLE了。。。后来全部改写过了。还有就是里面有许多细节加之平时用结构体少,历时3天边玩边写:)还是学到了不少
BNUbeginner
·
2020-09-16 02:12
数据结构
划分树
划分树是基于
线段树
的一种数据结构,主要用于在log(n)log(n)log(n)内求出序列区间的第K大值;划分树主要分为两部分,建树和查询。
BNUbeginner
·
2020-09-16 02:12
数据结构
洛谷P3372
线段树
模板1——
线段树
题目:https://www.luogu.org/problemnew/show/P3372
线段树
模板。
aodan5477
·
2020-09-16 02:53
洛谷 P3372
线段树
【模板】
P3373【模板】
线段树
2题目描述如题,已知一个数列,你需要进行下面三种操作:1.将某区间每一个数乘上x2.将某区间每一个数加上x3.求出某区间每一个数的和输入格式第一行包含三个整数N、M、P,分别表示该数列数字的个数
繁花开尽i
·
2020-09-16 02:22
线段树
模板题
洛谷 P3372 【模板】
线段树
1
https://www.luogu.org/problemnew/show/P3372题意:给你n个数,然后执行m个操作,操作分两种,对一个区间内的每个数都加上一个值,或者进行某个区间和的查询.分析:
线段树
裸题
chagelo
·
2020-09-16 02:50
数据结构--线段树
【HDU6345】子串查询【前缀和】【
线段树
】
可以用
线段树
维护一下。时间复杂度O(Tqlogn)O(Tq\logn)O(Tqlogn)当然也可以用前缀和。时间复杂度O(t(q+n))O(t(q+n))O(t(q+n))代码:
线段树
:#i
SSL_ZYC
·
2020-09-16 02:37
线段树
线段树
模板【洛谷P2023】
所以比裸的
线段树
难一点点吧,也就仅仅是一点点。既然存在两个操作,所以我们就要维护两个tag,一个加法一个乘法。但是pushdown的时候这两个tag怎么pushdown呢?
ACgay_caoyue
·
2020-09-16 02:45
poj2777 色板游戏(
线段树
)
区间修改,绝对标记col,询问区间不同颜色数。#include#include#includeusingnamespacestd;intconstN=100010;intn,m,t,ans;boolf[31];structnode{intl,r,col;}tree[4*N];voidbuildtree(intp,intl,intr){tree[p].l=l;tree[p].r=r;tree[p].
Icefox_zhx
·
2020-09-16 02:11
其他oj
线段树
洛谷P4198 楼房重建【
线段树
求前缀最大值个数】
题目描述:小A在平面上(0,0)点的位置,第i栋楼房可以用一条连接(i,0)和(i,Hi)的线段表示,其中Hi为第i栋楼房的高度。如果这栋楼房上任何一个高度大于0的点与(0,0)的连线没有与之前的线段相交,那么这栋楼房就被认为是可见的。施工队的建造总共进行了M天。初始时,所有楼房都还没有开始建造,它们的高度均为0。在第i天,建筑队将会将横坐标为Xi的房屋的高度变为Yi(高度可以比原来大,也可以比原
Master.Yi
·
2020-09-16 02:57
线段树
洛谷1558——色板游戏(
线段树
,位运算 )
那么我们可以直接将
线段树
节点所对应的区间含的颜色压成一个二进制然后在合并的时候f[root]=f[2∗root]|f[2∗root+1]f[root]=f[2∗r
y_immortal
·
2020-09-16 02:09
线段树
洛谷3870 开关(
线段树
)
所以我们
线段树
的sum数组开成二维的,第一维记录关的灯的数量,第二维记录开着的灯的数量。push_down的lazy标记就swap一下0和1的个数。查询时返回区间1的sum即可。
superXX07
·
2020-09-16 02:37
洛谷3373
线段树
2(
线段树
)
传送门【题目分析】RT,就是
线段树
的模板,支持区间乘、区间加、区间求和。很有意思的一点是两个标记的下传,解决了就行了。然后这道题,作为AHOI,竟然是个裸的模板!(可能年份久远的原因吧。。。)
weixin_30762087
·
2020-09-16 02:37
洛谷1714
线段树
加前缀和
题目传送门:https://www.luogu.org/problemnew/show/P1714题意很简单,在一段长度为n的序列里找出长度小于k的一段连续序列的最大值,是
线段树
无疑了。
DaRK_52
·
2020-09-16 02:05
线段树
洛谷
线段树
1 模板
题目大意:已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.求出某区间每一个数的和并且输出前言:这道题有点恶心,我觉得
线段树
的题都恶心我打了两个小时,这还只是一道模板。
SSL_HJQ
·
2020-09-16 02:33
线段树
洛谷
线段树
题目代码
参考链接
线段树
从入门到进阶以下是我在洛谷中对应题目的AC代码【修改区间,查找单值】3368
树状数组
2#include#include#includeusingnamespacestd;structNode
detecting……
·
2020-09-16 01:13
c++数据结构与算法
数据结构
算法
c++
POJ 2481 Cows -
树状数组
/
线段树
CowsDescriptionFarmerJohn'scowshavediscoveredthattheclovergrowingalongtheridgeofthehill(whichwecanthinkofasaone-dimensionalnumberline)inhisfieldisparticularlygood.FarmerJohnhasNcows(wenumberthecowsfro
x_1023
·
2020-09-16 00:45
线段树/树状数组
BZOJ 2120 数颜色 - 带修莫队/
树状数组
套主席树+平衡树
大概是一道带修莫队的裸题,然而还是WA了无数次,真是太弱了......千万要记得带修的话前驱和后驱都要记录都要记录!要记录!记录!录!!#include#include#include#include#include#includeusingnamespacestd;constintmaxn=10005;constintmaxm=1000005;structquery{intid,l,r,t,bl
x_1023
·
2020-09-16 00:45
莫队
线段树/树状数组
树套树
可持久化数据结构
bzoj-3211 花神游历各国
1查询区间和;操作2将区间内所有数字开方;题解:本以为是到神题推了一会,结果是个傻题==;总而言之就是10^9开五次平方就变成了1,就可以不再修改他;那么记录一个标记,表示这段区间是否还可以被开平方;
线段树
暴力搞就可以了
ww140142
·
2020-09-16 00:38
bzoj
数据结构
OIer刷题记录
HDU - 6703 array
因为没有被修改过值是唯一的,所以可以建立权值
线段树
,维护权值区间内的值所在下标的最大值。而询问则转化为不小于k的值里面,下标超过r的最小权值是多少。如何处理询
青烟绕指柔!
·
2020-09-16 00:45
主席树
HDU
2019CCPC网络赛-HDU6703-array (
线段树
权值
线段树
?)
题目链接题意样例第一个,序列43125,有两个操作:15:1操作,给第五个位置的数加10,000,000;211(op,r,op):2操作,找一个大于等于k的数,且和区间[1,r]中的数不相等,求这个数的最小值。思路设数组a[n]记录当前的序列,设数组b[n]反向记录数组a,即记录每个数出现的位置。如果a[]为43125,则b[]为43125,表示数i出现的位置是b[i].再将题目的限制条件转化,
刀锋灬意志
·
2020-09-16 00:33
线段树/树状数组
二维前缀和,cdq分治,
树状数组
离线询问
2018蓝桥杯省赛A组模拟赛(一)解析:询问矩形内点的值的和,二维前缀和,注意llac:#include#definelllonglongusingnamespacestd;llmp[3000][3000];lldp[3000][3000];llw;intmain(){memset(dp,0,sizeof(dp));memset(mp,0,sizeof(mp));intn,m,a,b,c,d;in
tαOαo
·
2020-09-16 00:32
模拟
Codeforces Zip-line 650D 345Div1D(LIS)
思路:可以用主席树在线搞,也可以用
树状数组
离线搞,明显后者好写得多。我们首先读取所有的询问,然后就把询问绑在给出的位置,然后我们正向做一遍LIS,反向做一遍LDS,然后就可以解决这个问题了。
weixin_33856370
·
2020-09-16 00:07
BZOJ 3211【
线段树
】
题意:n个数,m个操作。1,L,R询问[L,R]的总和。2,L,R将区间所有数都开根号。思路:区间和简单。主要就是一个区间所有元素相同的标记Same,但是这样是不是要求太高?sqrt好像就算是1e9,也down的非常快到1了,且这里还没有区间加。so,只要考虑标记区间是否都是1/0就足够了。水题。#includeusingnamespacestd;typedeflonglongLL;constin
weixin_30871701
·
2020-09-16 00:24
HDU 3854 Glorious Array
树状数组
一组数据:29102231425134010111110104104105071021510211111010101031031010405021答案:16161616156666以第一组为例:231425134以小于K的数为分界,将数列分成几段。对于每个数字,记录它所在段的左端点和右端点,据此求出修改前的合法对数sum。对于每个修改,查看当前修改发生在哪一段,该修改对sum产生了怎样的影响,修改
weixin_30595035
·
2020-09-16 00:38
【CodeForces】240F - TorCoder
线段树
传送门:【CodeForces】240F-TorCoder题目大意:给你一个长度为n的字符串(下标从1~n)。现在给你m次操作,每次操作是一个区间【L,R】,如果这个区间内的字符串可以重排列回文串,那么这次操作就是将其变成回文串,如果可以构造多个,那么排列成字典序最小的。如果这次操作不能构成回文串,那么忽略它。最后你要输出字符串的最终形态。题目分析:叉姐群有人提问的一道题,一开始看的时候什么思路都
poursoul
·
2020-09-15 23:18
线段树
【COGS】256 [POI2001] 金矿
线段树
传送门:【COGS】256[POI2001]金矿题目分析:将每个点作为一个矩阵的右下角添加这个矩阵的下边以及上边,这样本题转化成了区间加减以及求区间最大的问题。代码如下:#include#include#include#includeusingnamespacestd;#defineREP(i,a,b)for(inti=(a);i=(b);--i)#definetravel(e,H,u)for(E
poursoul
·
2020-09-15 23:18
线段树
Codeforces 52C - Circular RMQ -
线段树
【题目大意】给出环形数列a_0,a_1,...,a_n-1。它有两种操作:inc(lf,rg,v)这个操作使[lf,rg]区间内的每一个值增加v;rmq(lf,rg)这个操作返回[lf,rg]区间内的最小值。假设区间是环形的,所以当n=5,lf=3,rg=1时,表示的序列编号为:3,4,0,1。请编写程序执行这一系列操作。【输入】第一行有一个整数n。第二行为数列的初始状态a_0,a_1,...,a
一名码农、
·
2020-09-15 23:33
ACM_数据结构
HDU6703
2019CCPC网络选拨赛1002这里要用到权值
线段树
,因为题目保证了ai属于[1,n],且不重复。这里要用到权值
线段树
,因为题目保证了a_i属于[1,n],且不重复。
摸鱼选手
·
2020-09-15 23:59
ACM
线段树
HDU 6703 array 2019CCPC网络选拔赛 1002 (
线段树
/权值
线段树
/主席树+set)
arrayTimeLimit:4000/2000MS(Java/Others)MemoryLimit:262144/262144K(Java/Others)TotalSubmission(s):1356AcceptedSubmission(s):522ProblemDescriptionYouaregivenanarraya1,a2,...,an(∀i∈[1,n],1≤ai≤n).Initiall
pxlsdz
·
2020-09-15 23:40
数据结构--线段树
好题
比赛题解
数据结构——主席树
模板
HDU 6703 array 权值
线段树
先不考虑修改的情况,对所有的权值建一颗
线段树
,然后
线段树
上存储下标的信息,然后每个结点维护子树下标的最大值。
SigmaQuadrant
·
2020-09-15 23:42
比赛题解
2019CCPC-网络选拔赛 HDU-6703 array (主席树 or
线段树
)
CY提供的主席树思路https://blog.csdn.net/chenyume/article/details/100045386题意:给出一个序列,保证序列是一个1~n的全排列,q次操作,两种类型,一是给a[i]a[i]a[i]加10710^7107,另一种是给出r,k,询问一个最小的数字x,使得x>=kx>=kx>=k,x不等于区间[1,r]内的任何一个数字,强制在线,数据范围:n,musi
ZHXU1998
·
2020-09-15 23:41
主席树
线段树
数据结构
[洛谷P5342][TJOI2019]甲苯先生的
线段树
AddressP5342[TJOI2019]甲苯先生的
线段树
Solution对于c=1c=1c=1,由于路径长度为O(d)O(d)O(d)级别,只要知道lca(x,y)lca(x,y)lca(x,y)就是
花淇淋
·
2020-09-15 23:56
dp
hdu 3854 Glorious Array(
线段树
or
树状数组
)
题意:n个位置,每个位置有个价值和颜色,颜色为0或1,定义两个位置的距离为两个点之间的价值的最小值,有两个操作,一个是将位置p的颜色取反,另一个是查询当前序列有多少对不同颜色的位置之间的距离小于K。思路:首先预处理一下,求出某个位置左边第一个比K小的数的位置lf[i]和右边第一个比K小的数的位置rn[i],那么最初的答案就可以这样算:枚举每个位置,计算以该位置为右端点的合法点对的个数,这个只需要计
qian99
·
2020-09-15 23:34
数据结构
线段树
bzoj 3211: 花神游历各国
树状数组
注意到任意一个正数经过不超过5次操作就变成1,之后就不变了;0经过永远不变。那么可以用一个链表来表示某一个数之后的第一个>1的数,然后用并查集来合并即可。AC代码如下:#include#include#include#include#defineN100005#definelllonglongusingnamespacestd;intn,m,a[N],fa[N];llc[N];intread(){
lych_cys
·
2020-09-15 22:46
bzoj
主席树 总结
我的理解是,主席树首先是一颗颗地
线段树
,每一颗
线段树
都记录了不同时间的状态(这样就实现可持续化啦)。
ltwy123
·
2020-09-15 22:05
总结
luogu P3313 [SDOI2014]旅行
对于每个宗教可以开一棵
线段树
,但是空间会爆。所以可以动态开点。代码实现:#include#include#definemax(a,b)((a)>(b)?
fxt275307894a
·
2020-09-15 22:57
洛谷
树剖
线段树
动态开点
USACO 2015Feb 牛跳房子
洛谷P3120题目链接难度:普及-(我是蒟蒻)原本是为了练
线段树
的,结果这题跟
线段树
毫无关系-_-我犯的错误一看到这道题,第一反应是深搜dfs,于是就有了以下代码:#includeusingnamespacestd
小破枪_pistol
·
2020-09-15 22:46
解题报告
【
树状数组
】HDU_3854_Glorious Array
原题直通车:HDU_3854_GloriousArray题意:有n个结点,权值为len[i],结点颜色分黑白两种(1/0),仅异色点可相连。对于点对a、b(异色)的边的权值=min(len[j],a#include#includeusingnamespacestd;constintmaxn=1000005;intn,m,k,sum_1;__int64ans;intcol[maxn],len[max
PWZER
·
2020-09-15 22:07
ACM_算法题解
Kuangbin 带你飞-
线段树
专题 题解
HDU1166敌兵布阵单调更新区间查询和#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#defineLLlonglong#definePI3.1415926535897932
deko2014
·
2020-09-15 22:24
数据结构与算法
bzoj 3211
用
线段树
记录区间的最大值,然后只对max>1的区间做开根操作即可。
::Dash::
·
2020-09-15 22:48
bzoj
上一页
25
26
27
28
29
30
31
32
下一页
按字母分类:
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
其他