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
权值线段树
『权值动态开点线段树』『线段树合并算法』简单理解
权值线段树
与动态开点在正常的线段树中,我们总是以下表来进行线段树的操作。而
权值线段树
主要用于对具体的权值进行构造线段树,用于权值计数,权值操作等问题。
pigzhouyb
·
2020-08-13 12:18
线段树
2733: [HNOI2012]永无乡
题解:并查集+
权值线段树
合并我的收获:线段树合并#include#include#includeusingnamespacestd;constintM=100005;constintTM=2000005
Mmh2000
·
2020-08-13 12:24
2501-2750
2020牛客暑假多校第二场补题
比赛链接:link题目Akmp+HashB几何CdfsD签到题F单调区间+gcd筛Gbitset神奇用法H
权值线段树
(动态开点/离散化)J群论 Akmp+Hash 题意是说,定义了两个字符串间的函数
W_Zifan
·
2020-08-13 11:02
P3810 三维偏序(陌上花开)
权值线段树
套平衡树ac代码#include#include#include#definemp_make_pair#definePrpairconstintNN=400100;constintinf=0x3f3f3f3f
许启明
·
2020-08-11 04:48
数据结构
HDU - 6183 Color it (动态开点
权值线段树
)
Doyoulikepainting?LittleDdoesn'tlikepainting,especiallymessycolorpaintings.NowLittleBispainting.Topreventhimfromdrawingmessypainting,LittleDasksyoutowriteaprogramtomaintainfollowingoperations.Thespeci
箱@子
·
2020-08-11 03:02
线段树
主席树
51NOD 1376 最长递增子序列的数量 [CDQ分治]
题意:求最长上升子序列的数量思路1:从左向右扫一遍,并实时更新
权值线段树
(nlogn)思路2:cdq分治,注意不能归并排序,因为左侧有序的时候,右侧还未有序。
职业砖瓦匠
·
2020-08-11 03:46
cdq分治
牛客每日一题3.25 tokitsukaze and Soldier
权值线段树
考虑我们可以怎么获得答案,如果某一个人选了他,那么答案人数的集合就必定小于等于s[i],对于答案需要的人的集合的人数为num,那么集合里面所有的s[i]的最小值必然是小于等于num。明确了上述最关键的点后就是可以知道,我们如果答案的人数是2人,则s[i]>=2的全部人数取前2个就是答案,s[i]=num的人中权值最大的前num个。我们就可以从选一个人开始枚举,然后现在要选num人,就可以把s[i]
Boxxxxxxx
·
2020-08-10 20:04
树
算法
题解 洛谷 P3332
题目描述
权值线段树
套线段树板子题首先观察题目,判断为二维偏序问题操作1为区间修改,所以一定是外部线段树维护权值,内部线段树维护所在区间,否则时间复杂度爆炸qwq为方便查找,哈希时我采用哈希每个数的相反数的方法将求第
bantan3076
·
2020-08-10 15:54
数据结构与算法
loj10121 与众不同(ST算法)(二分)
尝试一开始想的是用
权值线段树
,这样只要满足min[l,r]=1那么这段就是合法的。又想了想让每个合法区间对提问更新,并不太可行。题解ST表+二分绕了一大圈,其实应该直接求以i为结尾的
逐梦起航-带梦飞翔
·
2020-08-10 13:36
刷题之路
ST算法
二分
CodeForces 1393B Applejack and Storages
ApplejackApplejackApplejackandandandStoragesStoragesStorages由于本菜鸡很笨,并没有想到什么简单的思路,所以有幸在时间内用
权值线段树
水过,u1s1
Vain957
·
2020-08-09 16:37
ACM刷题题解
hdu5249--
权值线段树
权值线段树
,是以权值为下标的线段树,不像普通的线段树一样。但是对于较大的数据,就需要离散化来解决空间上的不足。
权值线段树
这样一说,有点儿像主席树的感觉。空间上也优于主席树。但是它对于子区间却无能为力。
South-twilight
·
2020-08-09 10:56
hdu
权值线段树
【线段树】[LUOGU NOIP2016 天天爱跑步] 线段树合并+树上差分
题目:题目链接:[LUOGUNOIP2016天天爱跑步]题解:(这个题,,真的,其实学这个
权值线段树
的知识,就是为了写这道题的,,,但是,尽管半个小时码完了代码,但是,,,调了一下午,,,,o(╥﹏╥)
blng
·
2020-08-08 21:25
线段树
线段树
线段树合并:从入门到放弃
需要掌握的前置知识点:动态开点线段树、
权值线段树
。一、合并思想线段树合并,就是指建立一颗新的线段树,保存原有的两颗线段树的信息。
UnicornXi
·
2020-08-08 20:48
数据结构
洛谷4556:雨天的尾巴(线段树合并)
题面路径(u,v)修改根据套路可以变成u、v处+1,lca(u,v)处-1单点查询变为子树查询然后搜题解发现可以每个点开以颜色为权值的
权值线段树
统计子树信息就是线段树合并根据某种理论叶子结点个数一定时复杂度就是一个
KKiseki
·
2020-08-08 18:21
线段树
Governing sand(
权值线段树
)
Governingsand链接:https://ac.nowcoder.com/acm/contest/887/C题意:给n种树,其中每一种树都有高度h,每砍掉一棵树所需要的代价c,这种树的数量p。求花费最小的代价看砍树,使这群树中高度最大的树的数量大于树的总数量的一半。(砍树是需要直接把树砍完,不能砍一半~)数据量:n#include#include#include#include#includ
98kai
·
2020-08-05 19:07
2019暑期训练
牛客OI周赛10-提高组 T2 Taeyeon的困惑
权值线段树
,先插入m个数,然后用类似询问第kkk大
ssl_xxy
·
2020-08-05 17:56
权值线段树
权值线段树
Taeyeon的困惑
牛客练习赛34 F 主席树
这题和我之前做的mex原理等价比赛的时候虚树开的太长了爆内存的时候返回的wa我一直以为是代码写的有问题其实
权值线段树
的长开n+1就够了代码只有39行#includeusingnamespacestd;constintN
Gipsyu
·
2020-08-05 10:21
数据结构
主席树/
权值线段树
(小于k的数的个数 和 静态区间第k大)
P3834【模板】可持久化线段树1(主席树)(静态区间第k大)#include#include#include#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;#definelllonglong#defineINF0x3f3f3f3f#defineull
Thinking knife
·
2020-08-04 22:20
洛谷P3834 【模板】可持久化线段树 1(主席树)
DescriptionDescriptionDescription静态区间第kkk小n≤105n\leq10^5n≤105SolutionSolutionSolution主席树模板题首先对原数组离散化后,依次对放入每个点建一棵
权值线段树
这样的话我们就可以利用前缀和的思想
ssl_xxy
·
2020-08-04 22:32
主席树
权值线段树
线段树
树状数组套
权值线段树
1.引言树状数组套线段树可以以\(O(nlogn)\)的优秀复杂度维护带修改操作的区间K小值和带修改操作的区间大于/小于K的值的个数的问题.一些人也把这种树套树的结构叫做树状数组套主席树.事实上,在这种树套树中,内层的每一颗线段树是独立的,并不是类似于可持久化线段树(广泛被接受的"主席树")那样的"互相依存"的线段树.但是由于"主席树"在\(OI\)界定义并不明确,有些语境下也可以把动态开点的线段
weixin_30888707
·
2020-08-04 19:51
【模板】可持久化
权值线段树
(主席树)
洛谷3834主席树入门题,静态区间第k小
权值线段树
:一棵线段树的叶子tree[L=R]节点记录序列中满足a[i]=L=R的数的个数,非叶子节点记录儿子的sum之和;这样我们就可以快速地求出整个序列的第K
weixin_30258901
·
2020-08-04 19:07
Coder HDU - 4288
思路:因为要开
权值线段树
数很大,所以先把操作离线把要用到的数都离散化了,然后线段树维护的是区间数的个数num和区间位置%5==i的位置的数之和sum[i],我们最后查询的时候要的是根节点的sum[3],
MARS
·
2020-08-04 17:54
线段树
[模板]主席树及其应用
可持久化
权值线段树
;root数组记录第i版本根,每次建树时只新建当前位相关子节点,不相关子节点直接用上一版本的原节点有前缀和及权值树性质,可区间查询k小数1.查询区间第k小#include#include
Zeolim
·
2020-08-04 12:18
树(Tree)
模板
可持久化线段树——Step 1 静态区间第K大
先将{ai}离散到区间[1,n],然后,对于任意节点i,都建立一棵
权值线段树
,代表离散后{a1,…ai}在权值区间[1,n]出现的次数。
WT_cnyali
·
2020-08-04 12:13
树形结构
算法
总结
bzoj2588 Count on a tree(树上建主席树求路径第k大)
每个点建一棵
权值线段树
,记录从这个点到根的路径上的点权信息。x可以和fa[x]的线段树共用很多信息,所以上主席树!
Icefox_zhx
·
2020-08-04 12:57
bzoj
主席树
-----树-------
[BZOJ2809][Apio2012]dispatching(枚举&dfs序+主席树||可并堆||splay+启发式合并)
注意建的是
权值线段树
。2°可并堆3°splay+启发式合并代码主席树#include#include#include#includeusingnamespacestd;#defineLLlo
Clove_unique
·
2020-08-04 11:46
题解
贪心
可持久化
dfs序
静态(非带修)主席树模板(可持久化
权值线段树
)
静态(非带修)主席树模板(可持久化
权值线段树
)洛谷上的主席树模板题写完后可以自己去交一下,数据已经优化过,必须用主席树写。
9301∀
·
2020-08-04 11:48
算法
计蒜客 Yukino With Subinterval(树套树)
首先假设没有1操作,那么我们可以用主席树写,因为主席树保存了前缀信息,那么我们可以对每一个pos建一棵
权值线段树
,然后
OerUUU
·
2020-08-04 07:10
数据结构------树状数组
数据结构------线段树
2019南昌网络赛-I. Yukino With Subinterval 线段树套树状数组,CDQ分治
树套树中,主席树方法开
权值线段树
。。。会造成空间的浪费。。。这道题内存卡的很紧。。。由于树套树已经不需要持久化了,直接动态开点就完事了。。。用主席树方法开过不去,要么超内存,要么越界。。。
bluefly-hrbust
·
2020-08-03 23:12
Petya and Array(
权值线段树
or树状数组),模仿逆序对
知识点:对于求逆序对的方法的扩展。https://codeforces.com/problemset/problem/1042/D题目:给定一个序列,要求得到区间和小于x的总序列数方法:和求逆序数的方法差不多。sum[i]−sum[j]sum[j]>sum[i]−ksum[i]-sum[j]sum[j]>sum[i]-ksum[i]−sum[j]sum[j]>sum[i]−k所以只需要求i>j同时
左佥都御史
·
2020-08-03 22:37
树状数组
线段树
一般线段树与
权值线段树
目录一般线段树与
权值线段树
1.算法分析1.1一般线段树1.2
权值线段树
2.板子2.1线段树入门2.1.1单点修改+区间查询2.1.2区间修改+区间查询2.1.3区间加乘操作2.1.4区间染色2.2
权值线段树
spcia
·
2020-08-03 19:00
一般线段树与
权值线段树
目录一般线段树与
权值线段树
1.算法分析1.1一般线段树1.2
权值线段树
2.板子2.1线段树入门2.1.1单点修改+区间查询2.1.2区间修改+区间查询2.1.3区间加乘操作2.1.4区间染色2.2
权值线段树
spcia
·
2020-08-03 19:00
2018暑假集训专题小结 Part.3
线段树、
权值线段树
、树状数组等基本的二叉搜索树、平衡树(splay、treap(无旋)、替罪羊等)、hash(这个不是数据结构)各种可持久化:可持久化线段树(主席树)、可持久化
权值线段树
、可持久化splay
RainbowCrown
·
2020-08-03 12:36
蒟蒻CGH的专题学习成长历程
HDU6621 K-th Closest Distance - 可持久化线段树(主席树) -
权值线段树
- 数据离散化 - 二分搜索法
K-thClosestDistanceTimeLimit:20000/15000MS(Java/Others)MemoryLimit:524288/524288K(Java/Others)TotalSubmission(s):236AcceptedSubmission(s):97ProblemDescriptionYouhaveanarray:a1,a2,…,anandyoumustanswerf
xhxhxhxhx
·
2020-08-01 06:29
2019牛客暑期多校训练营(第七场)
现在问,花费最少的钱,使得所有高度最高的树的和大于阳现在树的总和的一半(严格)采用
权值线段树
写。我们考虑一下,树的高度等于x时,我们该如何计算当前的费用。
weixin_44019404
·
2020-08-01 06:32
套题
线段树
BZOJ2809 dispatching
先建一棵空的
权值线段树
(从小到大),然后根据\(DFS\)序可持久化更新线段树。查询答案的时候枚举每一个点,查询以这一点为
dielie6462
·
2020-07-31 17:46
php
杭电2019多校第三场 HDU-6609 Find the answer(
权值线段树
+离散化)
我们建一个
权值线段树
,因为1#definelllonglongusingnamespacestd;constintN=2e5+1
Qingo呀
·
2020-07-31 16:02
线段树
HDU 6609 Find the answer(
权值线段树
)
之前的一场cf上有这个题,用一个前缀和记录一下。#include#defineintlonglongusingnamespacestd;constintmaxn=2e5+10;intsum[maxnm)ans=Query(1,1,vl,res-m);intk=lower_bound(b+1,b+1+vl,a[i])-b;Updte(1,1,vl,k);printf("%lld",ans);}put
125小黑黑521
·
2020-07-31 13:49
数据结构
2018.11.01 loj#2319. 「NOIP2017」列队(线段树)
虽然当时我也不会
权值线段树
这道题直接上
权值线段树
维护nnn行和第mmm列就行了。原因?这是因为每次修改只会影响到某一行和最后一列。但直接跑是会炸空间的。因此我们动态开点来操作一波就行了。
weixin_30265171
·
2020-07-30 17:14
bzoj1878
主席树设nt[i]表示v[i]这个数下一个出现的位置,没有的话就是n+1题目就转化为求区间[l,r]之间nt[i]>=r+1的数字个数这就可以弄个
权值线段树
,询问区间和不知道为什么我的动态开点开了1e7
syh0313
·
2020-07-30 09:12
ACM-BZOJ
2020牛客暑期多校训练营(第六场)J Josephus Transform ——
权值线段树
求约瑟夫环置换,O(n)求x次置换之后的位置
首先用
权值线段树
O(nlogn)O(nlogn)O(nlogn)求出置换。只要每次查看当前位置后面的值够不够,如果不够的话,减掉后面值的个数,然后回到1,然后求从p开始有now个还存在的数的位置。
天翼之城
·
2020-07-29 06:12
想法
线段树
HDU 4006 离散化+
权值线段树
+线段树二分
Thekthgreatnumber题目大意:I操作表示在数列中添加一个数(序列最初为空)Q操作表示求数列中第k大的数解题思路:由于要求数列中第k大的数,因此考虑使用
权值线段树
。
leonxun123
·
2020-07-29 05:49
线段树
Multiset(
权值线段树
or 树状数组+二分)Educational Codeforces Round 87 (Rated for Div. 2)
题目大意:给你一个长度为nnn的序列,以及qqq次询问qiqiqi,如果qi>0qi>0qi>0,在序列中插入qiqiqi,如果qiusingnamespacestd;constintmaxn=1e6+10;inttree[maxn>1;if(x0)returntrue;elsereturnfalse;}intmid=l+r>>1;if(id>1;if(tree[rt=k)kth(rt0)upda
深入人心
·
2020-07-28 22:11
思维题
线段树
权值树状数组&&
权值线段树
权值线段树
和权值树状数组一般是将权值离散化后做当下标大小建立的可以很方便的处理与数值大小有关的查询权值树状数组很多时候要要+一个二分查找时间复杂度差不多,线段树常数较大,哪怕树状数组+一个logn求逆序数
tαOαo
·
2020-07-28 20:53
数据结构
CodeForces - 1354D Multiset
权值线段树
/树状数组+二分
CodeForces-1354DMultiset
权值线段树
/树状数组+二分
权值线段树
可以过,普通的单点修改查询线段树TLE做法一:线段树constintmaxn=1e6+7;constintINF=1e9
w_uxidixi
·
2020-07-28 15:27
Codeforces
线段树
HDU2852-KiKi's K-Number(树状数组+二分|
权值线段树
)
KiKi’sK-NumberTimeLimit:4000/2000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):4163AcceptedSubmission(s):1878ProblemDescriptionForthek-thnumber,weallshouldbeveryfamiliarwithit
DrWells
·
2020-07-28 14:31
权值线段树
二分
树状数组
2020牛客暑期多校训练营(第二场)H Happy Triangle ——
权值线段树
,离线
multiset,每次有三种操作:1x往multiset里塞一个x2x删掉multiset里的一个x3x询问是否能从multiset中找出两个数使得他们和x能够构成一个非退化三角形题解:那么这道题我一看他就是个
权值线段树
天翼之城
·
2020-07-28 12:44
想法
线段树
Happy Triangle (
权值线段树
)
DescriptionGivenamultisetMSMSMSandqqqoperations.MSMSMSisemptyinitailly,andoperationsareinthreetypes,whichareasfollows:insertanelementxxxintoMSMSMSeraseanelementxxxfromMSMSMSgivenanintegerxxx,determine
chr1st0pher
·
2020-07-28 09:49
线段树
离散化
Happy Triangle【思维+
权值线段树
】
2020牛客多校H题题意:给Q次对一个multiset的操作:放进一个权值x;删除存在于multiset内部的一个权值x;问一个权值x能否和multiset内的权值构成一个三角形。于是,这就是一道分类讨论的题了;我们将要取的multiset中的元素定义为a、b(),然后我们考虑x和b的相对位置来进行考虑。这时候只需要去找x之前两个小于等于x且最接近x的数即可,然后两者之和大于x就是满足条件的了。这
Andres_Lionel
·
2020-07-28 09:12
思维
数据结构
JZOJ 6030. 【GDOI2019模拟2019.2.25】白白的
这个就是单点修改+区间查询比x大的数的个数,树状数组套
权值线段树
即可(动态开点)。对于1操作,我们要分裂区间,可以考虑启发式合并,扫短的那边算贡献。但如果用
Felix-Lee
·
2020-07-28 02:03
权值线段树
树状数组
树套树
启发式合并
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
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
其他