ACM-线段树
线段树
luyehao1
ACMer
展开
-
Just a Hook (hdu 1698 线段树区间更新)
In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the same length.原创 2017-07-15 17:30:01 · 301 阅读 · 0 评论 -
红球进黑洞(线段树区间异或+区间求和)
题目链接:红球进黑洞 题意:给定一个长度为 n 的序列,有 m 次操作:操作有2种:1. 区间求和,即输入l,r,输出 .2. 区间异或,即输入l,r,k,对于,将 a[i] 变为 .数据范围:, 思路:我们无法得到一个区间更新的公式来做到区间异或,但异或是2进制上的操作,我们可以想到对一个数二进制的每一位来进行操作。因为 ,所以二进制位数<...原创 2018-11-18 11:16:40 · 1686 阅读 · 2 评论 -
CF Div2 E. Vasya and a Tree(思维 + 线段树)
题目链接:E. Vasya and a Tree 题意:给定一个以 1 为根节点的树,初始每个节点的权值为 0 。有 m 次操作,每次把以 vi 为祖先且离 vi 的距离小于 di 的所有节点(包括 vi 本身)的权值加上 xi 。问所有操作结束后,每个节点的权值。 思路:一个点只会影响它的子孙节点(包括自己),且只会被它的祖先节点影响(包括自己)。 所以,我们...原创 2018-11-16 15:50:44 · 313 阅读 · 0 评论 -
Magician(hdu 5316 线段树区间合并)
题目链接:Magician 题意:给定一个数组,定义beautiful subsequence为一个序列,里面每个元素在给定数组中的下标是奇偶交替的。有2种操作:0 求区间[a,b]中满足beautiful subsequence的序列中,序列所有元素之和的最大值。1 把原数组中下标为a的那个元素的值改为b。 思路:线段树单点更新+区间合并一个区间内的b...原创 2018-10-13 14:40:01 · 296 阅读 · 0 评论 -
Naive Operations(hdu 6315 线段树 sum(floor(a/b)))
题目:Naive Operations 题意:给定一个b数组,a数组初始均为0。有2种操作:add l r:把a[l...r]均+1; query l r:求 .floor()为向下取整。 思路:本题总体思路是O(n)暴力更新到每一个叶子节点,然后O(logn)查询。但这样会T,需要一个减枝。我们维护区间a的最大值和b的最小值,如果更新后一个区间内最大的a都小于b,那...原创 2018-07-26 10:44:52 · 213 阅读 · 0 评论 -
线段树区间更新求和模板
线段树区间更新求和模板转载 2018-03-20 17:00:26 · 154 阅读 · 0 评论 -
Query on a tree(hdu 3804 树链剖分+线段树 vector)
Query on a treeTime Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1298 Accepted Submission(s): 332Problem Description There are some queries ...原创 2018-03-02 12:05:18 · 255 阅读 · 0 评论 -
线段树详解+模板
线段树详解+模板转载 2018-03-01 19:48:02 · 262 阅读 · 1 评论 -
Successor (线段树)
Sean owns a company and he is the BOSS.The other Staff has one Superior.every staff has a loyalty and ability.Some times Sean will fire one staff.Then one of the fired man’s Subordinates will replace him whose ability is higher than him and has the highest原创 2017-07-19 13:32:52 · 741 阅读 · 0 评论 -
Codeforces Round #546 (Div. 2) E. Nastya Hasn't Written a Legend(线段树+思维(变量替换))
题目链接:E. Nastya Hasn't Written a Legend题意:给定一个长度为 n 的数组 a[i] 和一个长度为 n-1 的数组 k[i]。有2种操作:1. 给定i,x,使得a[i] += x 。若更新后 a[i]+k[i]>a[i+1],则 a[i+1]=a[i]+k[i];若此时 a[i+1] 被更新了,且 a[i+1]+k[i+1]>a[...原创 2019-04-08 17:07:21 · 132 阅读 · 0 评论