![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
linbinwu123
peaceful life is enough
展开
-
2020牛客多校第四场A题 Ancient Distance dfs序+线段树+k级祖先
Ancient Distance题意NNN个点以点111为根的树,在树上确定KKK个关键点,每个点的权值valvalval为点与点到根节点上碰到的第一个关键点的距离(若路径上没有关键点, 那么权值为inf\infinf),答案为所有点中最大权值的最小值。现在求K=1,2,...,NK=1,2,...,NK=1,2,...,N的答案之和题解题意比较难理解,看看样例应该能懂如果确定KKK值,那么我们单次得到答案应该是可以用树形dp来解决的,总体的复杂度就是O(N2)O(N^2)O(N2)现在反过原创 2020-07-22 10:57:15 · 1235 阅读 · 2 评论 -
CF1311F - Moving Points 树状数组
1311F - Moving Points题意NNN个点,全部都在XXX轴上,每一个点有给出起始点xix_ixi和速度viv_ivi,如果现在过去时间为ttt,那么这个点就在xi+tvix_i+tv_ixi+tvi,这里时间是无穷无尽的现在有d(i,j)d(i,j)d(i,j)表示点iii和点jjj在所有时间内最小的距离求所有点对的d(i,j)d(i,j)d(i,j)之和,即∑1≤...原创 2020-03-07 20:12:50 · 183 阅读 · 0 评论 -
CF1320C - World of Darkraft: Battle for Azathoth 思维+线段树
CF1320C - World of Darkraft: Battle for Azathoth题意NNN个武器,MMM个防具,KKK个怪兽每一个武器都有对应的攻击力aia_iai,还有购买它的金币数caica_icai每一个防具都有对应的防御力bib_ibi,还有购买它的金币数cbicb_icbi每一个怪兽都有对应的攻击力xix_ixi,防御力yiy_iyi,打败他获得的金...原创 2020-03-05 22:17:18 · 363 阅读 · 0 评论 -
主席树入门
可持久化线段树是动态开点的线段树,又被称为主席树。显然,听名字就知道,要想学习主席树,首先得学会线段树,如果还不会请戳这里,或者自己找一篇博客学习。作为一种可持久化数据结构,主席树支持我们查询历史版本。具体的讲,就是如果你在原来的线段树上进行了一系列操作后,还要保存原有的以及每次操作后的线段树,这样才能查询历史版本。首先从我们的静态主席树开始入门。下面以一个题为例,给你整明白主席树。问题:...原创 2019-12-12 15:19:55 · 139 阅读 · 0 评论 -
线段树入门
线段树是算法竞赛中一个比较常用的数据结构,单独考查线段树可能并不会很难,但是结合其他算法就会变得比较困难。现在不必担心,根据我自己的经历,学好线段树只是时间问题,自己手动多敲过几周就能熟练运用了。下面我先以位置线段树为例,给自己讲明白线段树。线段树是一颗二叉树,除了叶节点之外,每个节点有两个子节点。顾名思义,线段树里面应该有线段,那肯定有人会问这里的线段是指什么。在此处,线段是指一个数组中某个区...原创 2019-11-27 16:56:22 · 260 阅读 · 0 评论 -
【2019年南京网络赛A题】【The beautiful values of the palace】【离散化+主席树】
题目链接:https://nanti.jisuanke.com/t/41298题解:这里要解决几个问题:①(x,y)(x,y)(x,y)在螺旋方阵的值②用某种数据结构查询矩形区间内元素值之和由于这里nnn很大(n≤106n\leq10^6n≤106),二维数组开不下所以问题①不能直接暴力求解,问题②不能用前缀和直接求出对于问题①,我们可以先求出点(x,y)(x,y)(x,y)在第几...原创 2019-09-02 23:49:00 · 148 阅读 · 0 评论 -
【2019牛客暑期多校训练营 第九场 H题】【Cutting Bamboos】【主席树+二分】
题目链接:https://ac.nowcoder.com/acm/contest/889/H题意:N颗竹子,M个询问操作,每次询问给出l,r,x,yl,r,x,yl,r,x,y,问区间[l,r][l,r][l,r]内的竹子都切到什么高度hhh时,使得切掉的竹子高度之和为原来高度之和的x/yx/yx/y,注意这里只有高度大于hhh的竹子才会割,也就是说,如果让h=2h=2h=2,你是不能将1米...原创 2019-08-31 22:05:25 · 143 阅读 · 0 评论 -
【2019牛客暑期多校训练营 第八场 E题】【Explorer】【离散化+线段树+分治】
题目链接:https://ac.nowcoder.com/acm/contest/888/E题意:现在有n个节点,m条边,对于每一条边(u,v,l,r)(u,v,l,r)(u,v,l,r),意为从uuu到vvv只能由size为[l,r][l,r][l,r]的人才能通过。现在问有几种合法的size能从点111到点nnn题解:这里是使用了分治的思想(有点没懂,得去补补了)建一个表示size...原创 2019-08-29 13:43:59 · 155 阅读 · 0 评论 -
【2019年CCPC网络赛】【HDU 6703】【array】【线段树】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6703题意:给一个数组ana_nan,ai∈[1,n]a_i∈[1,n]ai∈[1,n],且各不相同现在有两种操作:①将aposa_{pos}apos加上10710^7107②查找满足大于等于kkk且不等于a1,a2,⋅⋅⋅,ara_1,a_2,···,a_ra1,a2,⋅⋅⋅,a...原创 2019-08-24 22:09:20 · 407 阅读 · 4 评论 -
【2019牛客暑期多校训练营 第七场 E题】【Find the median】【离散化+线段树】
题目链接:https://ac.nowcoder.com/acm/contest/887/E题意:N次插入操作,忘数列aaa中插入Ri−Li+1R_i-L_i+1Ri−Li+1个数:Li,Li+1,Li+2,⋅⋅⋅,Ri−1,RiL_i,L_i+1,L_i+2,···,R_i-1,R_iLi,Li+1,Li+2,⋅⋅⋅,Ri−1,Ri,问插入后数列aaa的中位数题解:这里需...原创 2019-08-22 11:02:27 · 118 阅读 · 1 评论 -
【2019牛客暑期多校训练营 第七场 C题】【Governing sand】【线段树】
题目链接:https://ac.nowcoder.com/acm/contest/887/C题意:NNN颗树,第i种树有P[i]P[i]P[i]颗,高度为H[i]H[i]H[i],砍掉这种树代价为C[i]C[i]C[i]求最小的花费,使得最高的树的数量超过剩下树总数的一半题解:按高度从高到低进行排序,然后用权值线段树维护。每个高度都查询砍完需要的树的最小花费,更新答案每次查询完当前...原创 2019-08-21 10:36:05 · 112 阅读 · 1 评论 -
【2019 Multi-University Training Contest 3】【HDU 6609Find the answer】【线段树】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6609题意:给你一串N个数的序列WWW和一个数M,对于每一个iii,你可以选择令一些Wk=0(k∈[1,i−1])W_k = 0 (k ∈[1,i - 1])Wk=0(k∈[1,i−1]),即除了当前位之外都能选,题目求对每一位iii,求最少选多少数使得∑j=1iWi≤M\displaystyl...原创 2019-07-30 16:09:50 · 125 阅读 · 0 评论