2011年10月31日
摘要: UVA_12299 这个是湖南省赛的题目,要是早点能学到YTQ后来给我PPT的话,当时也许就过掉了。 这个题目比一般的RMQ多了一个shift操作,用堆存储线段树然后直接自底向上更新一下即可。#include<stdio.h>#include<string.h>#include<ctype.h>#define MAXD 100010#define INF 1000000000int N, M, Q, tree[4 * MAXD];char b[50];int a[50], d[50], n;int Min(int &x, int &y){ r 阅读全文
posted @ 2011-10-31 23:21 Staginner 阅读(528) 评论(0) 推荐(0) 编辑
摘要: POJ_2777 这个题目在用线段树自顶向下处理的时候,需要对每个节点做两个标记,一个是当前区间包含的颜色,另一个就是lazy标记。 lazy标记是为了节省更新子节点颜色的时间,也就是在染色时没有必要立刻更新子节点的颜色,而是在自顶向下查询时如果发现需要更新子节点,那么再将lazy标记不断下传并更新子节点,这样就节省了时间。 对于颜色的表示,由于染色种类较少,因此可以用二进制数来表示每个区间的染色情况。#include<stdio.h>#include<string.h>#define MAXD 100010int L, T, O, M, res, tree[4 * M 阅读全文
posted @ 2011-10-31 19:32 Staginner 阅读(213) 评论(0) 推荐(0) 编辑