题目大概说给一棵树,树上结点都有颜色(1到60),进行下面两个操作:把某结点为根的子树染成某一颜色、询问某结点为根的子树有多少种颜色。 子树,显然DFS序,把子树结点映射到连续的区间。而注意到颜色60种,这样就可以用一个64位整型去表示颜色的集合,然后就是在这个连续区间中用线段树成段更新颜色集合和区 ...
分类:
其他好文 时间:
2016-07-13 09:11:52
阅读次数:
208
题目连接:http://www.spoj.com/problems/LITE/en/。 题意:有若干个灯泡,每次对一段操作,这一段原先是亮的,就关了;原先是关着的,就打开。询问某一段的打开的灯泡的个数。 分析:很显然的成段更新,但是一开始想着用某段是不是相同的来维护,敲了很长时间都没有实现。后来经过 ...
分类:
其他好文 时间:
2016-07-06 20:21:27
阅读次数:
170
题目大意:给n个0~15之间的数,有3种更新操作,1种询问操作。3种更新操作是:1、让某个闭区间的所有数字与一个0~15之间的数字进行逻辑与运算;2、让某个闭区间的所有数字与一个0~15之间的数字进行逻辑或运算;3、让某个闭区间的所有数字与一个0~15之间的数字进行异或运算。一种询问操作是询问某个闭 ...
分类:
其他好文 时间:
2016-06-02 13:03:24
阅读次数:
197
Description Given N integers A={A[0],A[1],...,A[N-1]}. Here we have some operations: Operation 1: AND opn L R Here opn, L and R are integers. For L≤i≤ ...
分类:
其他好文 时间:
2016-05-23 22:36:27
阅读次数:
439
题目链接:http://poj.org/problem?id=3237 一棵有边权的树,有3种操作。 树链剖分+线段树lazy标记。lazy为0表示没更新区间或者区间更新了2的倍数次,1表示为更新,每次更新异或1就可以。 熟悉线段树成段更新就很简单了,最初姿势不对一直wa,还是没有彻底理解lazy标 ...
分类:
其他好文 时间:
2016-05-23 20:56:17
阅读次数:
245
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3966 树链剖分的模版,成段更新单点查询。熟悉线段树的成段更新的话就小case啦。 ...
分类:
其他好文 时间:
2016-05-22 22:56:42
阅读次数:
170
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4027 RT,该题要求每次更新是更新所有节点,分别求平方根,查询是求和。昨晚思前想后找有没有一个数学上的开平方的和等于和的开平方之类的规律。但是想了想发现这不就是小的时候,如果你这么想那老师就会骂死你的那 ...
分类:
其他好文 时间:
2016-05-16 10:54:04
阅读次数:
171
板子题,正在努力看懂板子。。 http://blog.csdn.net/acm_cxlove/article/details/7815019 http://www.cnblogs.com/kuangbin/archive/2013/04/21/3034081.html ...
分类:
其他好文 时间:
2016-05-14 18:26:37
阅读次数:
288
算是我真正意义上的区间更新的第一题,我是这样理解区间更新的:
为了节省时间,在更新区间的时候不必每次都更新到叶子节点。如果当前节点的的区间被包含在查询区间内,就暂时只更新这个节点。但是如果仅仅这样,将来在下次更新的时候,如果涉及了该节点的孩子节点,就会出错。
所以有一个办法:在更新的时候,如果我们明确知道了该节点的儿子节点涉及到了将要更新的区间,就事先把它的左右儿子节点按照父节点的val更新了...
分类:
其他好文 时间:
2016-05-12 21:29:56
阅读次数:
163
这道题,很自然的想到了用离散化和成段更新。。
离散化有2中方式写。。详见代码。。
然后成段更新虽然没有lazy因为写的途中发现并不需要。。
然后,我实在不知道discuss里面大家说的关于数据的问题,可能自己的这个程序也会有错误的吧。。然后尝试着用树的节点保存颜色数目,,, 但是没实现。。然后是乱七八糟的代码。。#include
#include
#incl...
分类:
其他好文 时间:
2016-05-07 10:08:11
阅读次数:
275