题意:给一个n和m,表示n个房间,m次操作,操作类型有2种,一种把求连续未租出的房间数有d个的最小的最左边的房间号,另一个操作时把从x到x+d-1的房间号收回。
分析:这是一个区间合并的典型应用,基本只要套套模板就好了
下面是对区间合并的解释:
up函数:当修改完此时的区间时,为了维护该区间上面区间值的正确性,向上回朔更新上面区间的值
down函数:把延迟标记下传,并修改下...
分类:
其他好文 时间:
2015-08-15 14:57:24
阅读次数:
106
线段树成段更新,设置延迟标记,很好的方法,想出这个方法的人确实很吊
注意细节,有些小地方错了真的很难发现~
#include
#define maxn 111111
using namespace std;
int n,a,b,m;
struct stu
{
int l,r,sum,flag;
};
stu mapp[maxn*4];
void build(int l,int r,int c...
分类:
其他好文 时间:
2015-08-12 19:40:25
阅读次数:
107
hdu 1698 Just a Hook题意: 给你一链子,这天链子由金银铜三种钩子组成,每种钩子都有自己的价值,起初,这条钩子全部由铜钩子组成,给你两个数n(钩子的个数),Q(操作的个数)每次操作就是将给定区间里的数变成某种钩子,求这条链子的总价值。
分析: 线段树模版题,处理好延迟标记即可。
代码:#include
#include
#inclu...
分类:
其他好文 时间:
2015-08-02 11:51:29
阅读次数:
134
C - Count Color
Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d
& %I64u
Submit Status Practice POJ
2777
Appoint description:
System Crawler (2015-07-22)
Descrip...
分类:
其他好文 时间:
2015-07-25 21:35:52
阅读次数:
183
A Simple Problem with Integers
Time Limit:5000MS Memory Limit:131072KB 64bit IO Format:%I64d & %I64u
Submit Status
Description
You have N integers, A1, A2, ... , AN. You need t...
分类:
其他好文 时间:
2015-07-23 07:06:09
阅读次数:
158
题意:
给出一个无根树和树上每个结点的初始颜色;
然后进行m次操作;
C:将x到y的路径所有点染成某个颜色;
Q:查询x到y的路径上经过多少个颜色块;
n,m
题解:
挺裸的树链剖分,修改的时候要用延迟标记维护;
但是注意颜色可能为0,所以我单独开了一个bool的数组维护是否有标记;
在合并两个区间的时候要判断两个端点的颜色是否相同;
如果相同要将端点合并,也就是答案-...
分类:
其他好文 时间:
2015-07-12 15:49:26
阅读次数:
113
A Simple Problem with Integers
Time Limit: 5000MS
Memory Limit: 131072K
Total Submissions: 73239
Accepted: 22607
Case Time Limit: 2000MS
Description
You have N i...
分类:
其他好文 时间:
2015-07-07 22:59:07
阅读次数:
180
欢迎“热爱编程”的高考少年——报考杭州电子科技大学计算机学院
Just a Hook
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 20889 Accepted Submission(s): 1044...
分类:
其他好文 时间:
2015-07-07 19:35:58
阅读次数:
128
题目链接:http://poj.org/problem?id=2777思路分析:该问题为区间涂色问题,要求统计某一段区间上含有的颜色种类;使用线段树求解该问题,需要使用延迟标记方法;使用一个整型数据作为位图记录在这段区间上的颜色种类,如1001表示存在颜色1与颜色4;更新操作:更新时注意需要将标记下...
分类:
其他好文 时间:
2015-06-10 20:52:21
阅读次数:
103
这周学习了一下线段树,偶遇POJ 3468,这道题是线段树区间更新,题意大概是有一段的长为n的数组,经过若干次对其中某一段的数进行加减,询问某一段的和。这题还是比较明显的线段树,如果细分到对每一个节点进行操作的话,复杂度为O(m^logn),容易超时,所以采取延迟标记的做法,直接对某一段进行操作,....
分类:
其他好文 时间:
2015-05-30 21:07:21
阅读次数:
100