线段树
Last0rder
最后之作
展开
-
Codeforces Round #291 (Div. 2)D. R2D2 and Droid Army
D. R2D2 and Droid Armytime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAn army of n droids is lined up in o原创 2015-02-16 14:28:00 · 948 阅读 · 0 评论 -
hdu4614 Vases and Flowers
Vases and FlowersTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 2148 Accepted Submission(s): 836Problem Description Alice is so原创 2015-01-25 23:57:40 · 826 阅读 · 0 评论 -
hdu 5306 Gorgeous Sequence
对线段树进行三种操作: 区间求和。 区间求最大值。 将节点值更新为当前值与给定值中的最小值。怎么做?代码中有详细注解,看看就懂了。#include#include#include#include#include#原创 2015-07-27 18:35:11 · 2247 阅读 · 0 评论 -
codeforces 558 E A Simple Task
题目大意就是给一个字符串,然后多个操作,每次操作可以把每一段区间的字符进行升序或者降序排序,问最终的字符串是怎样的。做法的话就是用线段树维护区间和 一开始只考虑字符串中字符'a'的情况,假设操作区间[L,R]中有x个'a',那么一次操作后,这x个'a'要么去最左(升序),要么去最右(降序),我们可以建立一颗线段树来维护这样的操作,字符'a'出现的位置值为1,否则为0,那么q次原创 2015-07-17 17:45:08 · 1024 阅读 · 0 评论 -
hdu5381The sum of gcd
题意:给出一个序列,多次区间询问,算出下面式子的答案f(l,r)=∑ri=l∑rj=igcd(ai,ai+1....aj)做法:连续求gcd的和,看起来就是线段树,由于对于任意数,若再搞任意个其它的数跟它做gcd,最多只有log(n)个不同的gcd,所以对于任意区间最多只有log(n)个不同的gcd,这样就可以用线段树存下来了。struct Tree{ll val;//区间原创 2015-08-17 14:44:56 · 976 阅读 · 0 评论