题意:给定点数nn扫描1遍,然后用一个树状数组维护前缀和即可。。 到了本题利用dfs序显然就可以转化成线性模型, 具体的话 做到点u, 如果有一个操作1在(u, fa[u])的边,时间为t,那么在t时间点删除一个点 如果有一个操作2在u点,时间为t,那么就等价于查询1~u路...
分类:
其他好文 时间:
2014-11-13 00:34:28
阅读次数:
248
从喜悦村上转载,以前也读过此文,讲述得还是比较清楚的。产品分类,多级的树状结构的论坛,邮件列表等许多地方我们都会遇到这样的问题:如何存储多级结构的数据?在PHP(PHP培训php教程)的应用中,提供后台数据存储的通常是关系型数据库,它能够保存大量的数据,提供高效的数据检索和更新服务。然而关系型数据的...
分类:
编程语言 时间:
2014-11-12 01:59:42
阅读次数:
205
ZOJ上面这题内存限制太严格,裸的树套树主席树搞法过不去,BZOJ上面这个放的比较松,可以过。其实就是利用树状数组维护n颗主席树,然后利用前缀和性质求解第k大。#include #include #include #include #include #include #include #includ...
分类:
编程语言 时间:
2014-11-09 12:29:33
阅读次数:
315
题目链接:hdu5101 Select
题目大意:N和K,给定若干组数,要从从不同组中选出连个数和大于K,问说有多少种组成方案。
解题思路:树状数组维护,将所有的数离散化掉对应成树状数组的下标,每次先计算一组,然后再将该组的元素插入到
树状数组中。
#include
#include
#include
using namespace std;
typedef long ...
分类:
编程语言 时间:
2014-11-08 23:39:29
阅读次数:
301
题意:n 组,每组有一些值,求 在不同的两组中每组选一个使值的和大于k的方法数。解法:n * Cnt[n] #include #include #include #include #include #define lll __int64using namespace std;#define N 10...
分类:
编程语言 时间:
2014-11-08 23:35:38
阅读次数:
294
题意: 给一串数字,给q个查询,每次查询长度为w的所有子串中不同的数字个数之和为多少。解法:先预处理出D[i]为: 每个值的左边和它相等的值的位置和它的位置的距离,如果左边没有与他相同的,设为n+8(看做无穷)。考虑已知w=k的答案,推w = k+1时,这时每个区间都将增加一个数,即后n-k个数会增...
分类:
编程语言 时间:
2014-11-08 22:00:59
阅读次数:
259
【树状数组】段修改,点查询
利用差分,先得到一个差分序列(如:(1,2,3,5)的差分序列为(1,1,1,2))
当[i,j]段中所有数均加上数m时,在差分序列的i位置加上m,在j+1位置减去m即可
求和利用树状数组...
分类:
编程语言 时间:
2014-11-08 20:54:10
阅读次数:
267
题意:给出一个n*n的矩阵,然后m个operation,1表示坐标(x,y)的值加z,2表示与坐标(x,y)的曼哈顿距离不超过z的点的权值和。
解题思路:将矩阵侧过来45度,发现询问的时候,有效的点构成的其实是一个矩阵。然后就变成了单点修改,求矩阵和的问题。我们考虑裸二维树状数组的做法,会发现矩阵太大,但是注意到,初始的时候,矩阵里面所有的值都为0,那么这个二维树状数组中,有效的点就是修改的那些...
分类:
编程语言 时间:
2014-11-08 19:41:28
阅读次数:
211
Stars
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 33786
Accepted: 14741
题目链接:http://poj.org/problem?id=2352
Description
Astronomers often examine star...
分类:
编程语言 时间:
2014-11-08 12:07:34
阅读次数:
265
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4417题目大意:给你n个数,下标为0到n-1,m个查询,问查询区间[l,r]之间小于等于x的数有多少个。写的时候逗比了。。。还是写的太少了。。我们按照x从小到大排序来查询,然后找区间上的点,如果小于等于它...
分类:
编程语言 时间:
2014-11-07 23:17:05
阅读次数:
265