题意:
给出一个图片,分成N×N个单元格,有M次操作,每次操作将(x,y)的值变为以(x,y) 为中心L(L为奇数)为边长的区域内的最小值和最大值的均值(floor((maximum+minimum)/2)),并输出该值。
分析:
明显的二维线段树的单点更新和区间查询,维护最值。
更新肯定是先在二维内找到叶子节点的那棵线段树,然后再在这棵树上更新,这部分很简单,就想成一维的写。但是这毕竟是二维线段树,二维的部分也需要维护,当然这部分比较麻烦,我们先想一想一维的:一维的节点维护的是值,我们只要根据它的左右儿子...
分类:
其他好文 时间:
2014-08-15 12:58:58
阅读次数:
224
思路一下就上来了,叶子向汇点连边,inf保证不会成为割,跑根到汇点最小割即可。注意无向树双向建边。基础题,分分钟1A:
#include
#include
#include
#include
#include
#include
using namespace std;
const int inf=0x3f3f3f3f;
const int maxv=1005,maxe=10000;
int nu...
分类:
其他好文 时间:
2014-08-15 10:47:28
阅读次数:
303
有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关关闭,小猴子往左走,否...
分类:
其他好文 时间:
2014-08-14 01:18:47
阅读次数:
214
解题报告
题意:
对线段染色,询问线段区间的颜色种数。
思路:
本来直接在线段树上染色,lz标记颜色。每次查询的话访问线段树,求出颜色种数。结果超时了,最坏的情况下,染色可以染到叶子节点。
换成存下区间的颜色种数,这样每次查询就不用找到叶子节点了,用按位或来处理颜色种数。
Count Color
Time Limit: 1000MS
Memory Lim...
分类:
其他好文 时间:
2014-08-12 22:17:24
阅读次数:
376
二叉树相关概念:路径:对于节点n1 n2 n3….nk从n1到nk的路径长度为k-1节点的层数:只有一个根节点,则层数为1,其余节点的层数为双亲节点的层数加1树的深度:树中所有节点的最大层数称为树的深度,只有根节点深度为1。满二叉树:所有分支节点存在左子树和右子树,并且所有的叶子节点都在同一层上。完...
分类:
其他好文 时间:
2014-08-12 21:46:04
阅读次数:
199
1.小根堆
若根节点存在左子女则根节点的值小于左子女的值;若根节点存在右子女则根节点的值小于右子女的值。
2.大根堆
若根节点存在左子女则根节点的值大于左子女的值;若根节点存在右子女则根节点的值大于右子女的值。
3.结论
(1)堆是一棵完全二叉树(如果公有h层,那么1~h-1层均满,在h层连续缺失若干个右叶子)。
(2)小根堆的根节点的值是最小值,大根堆的根节点的值是最大值。
(3)...
分类:
其他好文 时间:
2014-08-12 13:35:44
阅读次数:
319
1、堆 一棵完全二叉树 大顶堆:所有非叶子节点元素均不小于其左右子树根节点的值 小顶堆:所有非叶子节点元素均不大于其左右子树根节点的值2、 初始化堆 ①一组无序元素R[0, 1, ..., n - 1], 先按照顺序将该组无序元素构造为一棵完全二叉树 ②从该二叉树的第一个非叶子结点开始调整...
分类:
其他好文 时间:
2014-08-12 03:06:43
阅读次数:
259
数据结构:线段树 【转】http://blog.csdn.net/wypblog/article/details/8219727一、线段树基本概念 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],....
分类:
其他好文 时间:
2014-08-12 02:58:23
阅读次数:
270
线段树研究了两天了,总算有了点眉目,今天也把落下的题,补了一下。 贴一份线段树模板
线段树的特点:
1. 每一层都是区间[a, b]的一个划分,记 L = b - a
2. 一共有log2L层
3. 给定一个点p,从根到叶子p上的所有区间都包含点p,且其他区间都不包含点p。
4. 给定一个区间[l; r],可以把它分解为不超过2log2 L条不相交线段的并。
总结来说:...
分类:
其他好文 时间:
2014-08-11 21:22:22
阅读次数:
528
解题报告
题意:
一根长度8000的线段上染色,求染完之后,每个颜色在线段上有多少个间断的区间。
思路:
区间问题用线段树,成段的更新区间,最后把所有的区间下压到叶子结点,统计叶子结点的颜色。
#include
#include
#include
using namespace std;
int lz[32000],_hash[10000],color[10000],cnt;
v...
分类:
其他好文 时间:
2014-08-11 06:19:21
阅读次数:
258