
线段树
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 · 1345 阅读 · 2 评论 -
CF1326E Bombs 思维+线段树
CF1326E Bombs题意NNN个数的全排列ppp,现在将NNN个数依次加入集合AAA,如果这个位置iii上有炸弹,那么在加入这个数pip_ipi后删除集合AAA中最大的数,当所有数加入集合后,集合中最大的数为当次花费现在给出NNN个数qiq_iqi,对于每一个iii,求第q1,q2,...,qi−1q_1,q_2,...,q_{i-1}q1,q2,...,qi−1个位置上是炸...原创 2020-03-22 22:55:57 · 397 阅读 · 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 · 424 阅读 · 0 评论 -
线段树分治——学习笔记
题目的一些特征和思路给你若干操作,每一个操作的作用时间范围为[l,r][l, r][l,r],然后让你求每一个时刻下 (题目要求) 的结果或是没有说明操作时间,我们以操作个数为时间,当某些操作完全相同,则可以合并。如第1,2,31,2,31,2,3个操作一样的,那么我们可以在[1,3][1, 3][1,3]的时间上都做相同的修改,而不必分别在[1,1][1,1][1,1],[2,2][2,2...原创 2020-02-20 00:53:59 · 400 阅读 · 0 评论 -
线段树入门
线段树是算法竞赛中一个比较常用的数据结构,单独考查线段树可能并不会很难,但是结合其他算法就会变得比较困难。现在不必担心,根据我自己的经历,学好线段树只是时间问题,自己手动多敲过几周就能熟练运用了。下面我先以位置线段树为例,给自己讲明白线段树。线段树是一颗二叉树,除了叶节点之外,每个节点有两个子节点。顾名思义,线段树里面应该有线段,那肯定有人会问这里的线段是指什么。在此处,线段是指一个数组中某个区...原创 2019-11-27 16:56:22 · 296 阅读 · 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 · 208 阅读 · 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 · 456 阅读 · 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 · 140 阅读 · 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 · 155 阅读 · 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 · 152 阅读 · 0 评论