酱油拌面

What if it rained? We didn't care

hdu4614 Vases and Flowers (线段树)

题目链接:点击链接题意:有标号从0到n-1的n个花瓶,每个花瓶只能放一朵花。现在有两种操作,操作一,从第a个花瓶开始,放b朵花进入花瓶,如果能放,输出能放的最左边的位置,和最右边的位置,如果不能放,输出不能放。操作二,将花瓶a到花瓶b这个区间内的花全部丢弃。思路:维护区间内花的数量sumv[rt]...

2017-09-12 02:25:55

阅读数 256

评论数 0

UVA11992 Fast Matrix Operations(线段树)

题目链接:点击链接题意:给一个矩阵,有三个操作。操作1,将这个矩阵的一个子矩阵的值全加上v。操作2,将这个矩阵的一个子矩阵的值全置为v。操作3,求这个矩阵的一个子矩阵的最大值,最小值,和。思路:看似很简单的set和add操作,我这个线段树菜鸡,卡了很久。前几天写另一道线段树时,突然明白set操作和...

2017-08-23 16:03:03

阅读数 161

评论数 0

hdu3974 Assign the task(线段树/dfs)(好题)

题目链接:点击链接题意:给一棵n个点的树,点标号从1到n。有两种操作,操作1,将树上的某个点以及它的子孙都赋值为某个数;操作2,查询某个点的值。思路:做法一:dfs。更新时,将目标节点更新就行,给节点记录一个时间戳。查询时,向上访问父亲节点,对比儿子节点和父亲节点的时间戳,如果父亲节点的时间戳晚于...

2017-08-23 15:29:41

阅读数 189

评论数 1

hdu1540 Tunnel Warfare(线段树)(好题)

题目链接:点击链接题意: 有n个村庄,连成一条线,有三个操作。操作一,将指定的一个村庄摧毁;操作二,查询指定村庄所在的线段上有多少个没有被摧毁的村庄;操作三,将上次被摧毁的村庄重建。 思路: 操作一和操作三是基础的单点更新。 操作二的查询,需要查询连续区间的长度,建树的时候要对每个节点对应的区间[...

2017-08-23 14:46:02

阅读数 228

评论数 0

hdu4027 Can you answer these queries?(线段树)

题目链接:点击链接题意: 有n个数,现在有一种操作,将这n个数中的一个区间[x, y],每个数都开平方。询问区间的和。 思路:建树的时候,当前节点保存了对应区间的和。更新的时候,若当前节点对应的区间为[l, r],如果区间和小于(r-l+1),不往下更新,反之往下更新。代码:#include &l...

2017-08-23 13:52:05

阅读数 106

评论数 0

ZOJ 1610 Count the Colors (线段树)

题目链接:点击链接题意:在x坐标轴上画线,每条线给出起点,终点,颜色编号,要求输出画了n条线后,每种颜色的线段有多少条思路:注意这里是[start, end]区间内为一种颜色,可以认为不包含起点终点,和以往那些包含起点终点的题目还是有区别的。处理的方法是起点加一。 建树的时候,当颜色把当前区间完全...

2017-08-22 20:55:35

阅读数 115

评论数 0

POJ2528 Mayor's posters(线段树)

题目链接:poj2528题意:n张等高的海报,贴在一堵无限长度的墙上,给出海报的起始坐标,海报张贴的顺序,海报会被覆盖,问最后能看见多少不同的海报。思路:海报的下标最大为1000W,线段树是存不下的,但是海报的数量只有10000,可以利用离散化技巧,把这10000个海报的起始下标重新分配序号,再用...

2017-08-16 16:02:36

阅读数 98

评论数 0

POJ3468 A Simple Problem with Integers(线段树)

题目链接:poj3468思路区间更新:区间加上某个数 区间查询:区间和 小结1A了。。 代码#include <iostream> #include <cstring> #include <cstdio>using namespace std;typedef l...

2017-08-16 15:38:13

阅读数 95

评论数 0

hdu1754 I Hate It

题目链接:hdu1754 I Hate It思路单点更新。区间最大。 小结又WA了一发。设查询区间为[QL, QR],当前节点为rt,对应区间为[L, R], mid=(L+R)/2。按照我的写法,当QL小于等于mid时,递归左区间,当QR大于mid时,递归右区间。这里应该是两个if,而我写成了i...

2017-08-16 15:31:56

阅读数 113

评论数 0

hdu1166 敌兵布阵(线段树)

题目链接:hdu1166 敌兵布阵思路单点更新,增加和减少。区间求和。 小结看错题目,写成区间更新...WA了两发,WA在add打懒标记,更新当前节点时,乘以的是懒标记,而不是要更新的那个数。 代码#include <iostream> #include <cstring>...

2017-08-16 15:20:23

阅读数 126

评论数 0

uvalive 3938 Ray, Pass me the dishes!(线段树)

题目链接:https://vjudge.net/problem/UVALive-3938题意:给一个数组,多次查询,询问区间[l, r]最大连续和。思路:线段树。 查询一个区间的最大连续和,可以找一个mid,这个最大连续和的起点和终点, 可能在mid的左边,或者在mid的右边,或者横跨mid。...

2017-08-08 15:38:22

阅读数 132

评论数 0

uva11235 frequent values(Sparse Table)

题目链接:https://vjudge.net/problem/UVA-11235题意:给一个非降序的整数数组a,求[i, j]中出现最多次数的数,出现了几次。思路:明显的是RMQ问题。白书上用的是Sparse Table,这个叫ST表就变成了表表….一开始思路就被定死,求出现最多的数出现的次数,...

2017-08-06 19:45:15

阅读数 126

评论数 0

uvalive 4329 Ping Pong(树状数组)

题目链接:https://vjudge.net/problem/UVALive-4329题意:一条直线上有n个乒乓选手,每个人有一个技能值ai,他们之间需要切磋,需要一个裁判,裁判的技能值要在两个人之间,问一共有多少个个方案。裁判不同或者选手不同都可以看做是不同的方案。思路:参照白书。考虑第i个人...

2017-08-04 16:05:37

阅读数 123

评论数 0

uvalive3027 Corporative Network

题目链接:https://vjudge.net/problem/UVALive-3027题意:有个两个操作,I操作把u的父节点更新为v,把距离更新为abs(u-v)%1000,保证在这之前,u没有父节点。E操作询问u到根的距离。思路:I操作保证了在这之前u没有父节点,那么可以直接pa[u]=v; ...

2017-08-04 09:55:37

阅读数 80

评论数 0

uva11997 K Smallest Sums(优先队列)

题目链接:https://vjudge.net/problem/UVA-11997题意:有k个长度为k的数组,从每个数组中取一个数加在一起得到一个新的数,按照这样操作,问得到的前k个最小的数是什么。思路:一共有k^k次方个数,k<=750,直接构造出来不可行。当只存在两个这样的数组的时候,设...

2017-08-02 19:18:17

阅读数 168

评论数 0

数据结构-二叉堆

堆是一棵完全二叉树。 堆按照关键字的设定,分大顶堆和小顶堆,大顶堆指父亲节点关键字比儿子节点都要大,小顶堆指父亲节点关键字比儿子节点要小。 数组实现堆的思路: 设数组arr[]; 在arr[0]处设立一个哨兵,大顶堆则赋一个大的数,小顶堆则赋一个小的数。 1号节点...

2016-11-10 01:52:01

阅读数 172

评论数 0

hdu1698 Just a Hook(线段树,区间更新)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1698 题意: 某个钩子由n个小钩子组成,有q个操作,将某个区间内的小钩子的材料改变,有金银铜三中材料,每种材料价钱不同。问最后这个钩子的价值 思路: 线段树,区间更新(不是相加更新...

2016-08-19 20:55:26

阅读数 201

评论数 0

poj3468 A Simple Problem with Integers(线段树,区间更新,区间和查询)

题目链接:http://poj.org/problem?id=3468 题意: 给出n个数,有q个操作,其中一种操作是将某个区间都加上某一个整数,另一个操作是询问某个区间的和。 思路: 线段树,区间更新,区间和查询。区间更新自然用到lazy-tag。模板题,关键还是理解模板...

2016-08-19 20:46:05

阅读数 236

评论数 0

poj3264 Balanced Lineup(ST表)

链接:http://poj.org/problem?id=3264 题意: n头牛排成一行,问a到b这个区间内最高的牛和最矮的牛的身高差。 思路: 这题用的是ST表,初学ST。这题算模板题了,关键还是要理解。。 另外,某位巨巨说用代码中的方法求k值可能会被卡。 ...

2016-08-19 20:34:49

阅读数 148

评论数 0

hdu2795 Billboard (线段树,单点更新)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2795 题意: 有一个高为h,宽为w的billboard,有n个广告,每个广告高1,宽为wi,将n个广告从上往下放,并且尽可能放满一行,问n个广告分别放在哪一行。 思路...

2016-08-19 20:12:34

阅读数 176

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭