线段树的指针表示法。代码还有待消化。。代码里面多次用到了函数递归,感觉这次对递归又有了深一层的理解。 1 #define LOCAL 2 #include 3 #include 4 #include 5 using namespace std; 6 7 struct CNode...
分类:
其他好文 时间:
2014-07-16 19:07:23
阅读次数:
249
http://poj.org/problem?id=3468A Simple Problem with IntegersTime Limit:5000MSMemory Limit:131072KTotal Submissions:58132Accepted:17704Case Time Limit:...
分类:
其他好文 时间:
2014-07-16 18:43:16
阅读次数:
224
聪哥推荐的题目区间修改和区间查询,但是此题新颖之处就在于他的区间修改不是个定值,而是从L 到 R 分别加 F1、F2、。。。Fr-l+1 (F为斐波那契数列)想了一下之后,觉得用fib的前缀和来解决,每次做懒惰标记记录下当前区间是从哪个L开始加起的,敲了一半之后发现有问题,就跟上次遇到的懒惰标记问题...
分类:
其他好文 时间:
2014-07-16 18:10:06
阅读次数:
270
Atlantis
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 16882
Accepted: 6435
Description
There are several ancient Greek texts that contain descriptions...
分类:
其他好文 时间:
2014-07-16 17:31:31
阅读次数:
165
题目来源:POJ 2763 Housewife Wind
题意:给你一棵树 2种操作0 x 求当前点到x的最短路 然后当前的位置为x; 1 i x 将第i条边的权值置为x
思路:树上两点u, v距离为d[u]+d[v]-2*d[LCA(u,v)] 现在d数组是变化的 对应每一条边的变化 他修改的是一个区间 用时间戳处理每个点管辖的区域 然后用线段树修改 线段树的叶子节点村的是根到每一个点的距离...
题意:给定你二维范围,找这个范围里面的最大值解题思路:二维线段树有两种实现方式,一种是 树套树 ,另一种则是将二维平面分成4块的 完全四叉树我的代码:// File Name: 1823.cpp// Author: darkdream// Created Time: 2014年07月10日 星期四 ...
分类:
其他好文 时间:
2014-07-16 00:07:29
阅读次数:
418
本文出自:http://blog.csdn.net/svitter
今天...
分类:
其他好文 时间:
2014-07-15 12:54:17
阅读次数:
235
题意:
一段区间最开始元素都是0 每次操作可以令一段连续区间+1或-1(在加过的前提下才能减) 每次操作输出整段区间有多少段连续的0
思路:
一看区间操作首先考虑线段树 本题n比较大 但是操作数很小 而且每次操作最多影响一段区间(可用两个数字表示区间头尾) 那么就想到了离散化
我和网上题解的离散方式不同 我的更暴力更无脑- -b
为了保证区间连续性 不能只在线段树...
分类:
其他好文 时间:
2014-07-15 12:33:16
阅读次数:
217
本文出自:http://blog.csdn.net/svitter
题意:在1~200,000个数中,取一段区间,然后在区间中找出最大的数和最小的数字,求这两个数字的差。
分析:按区间取值,很明显使用的线段树。区间大小取200000 * 4 = 8 * 10 ^5;
进行查询的时候,注意直接判断l, r 与mid的关系即可,一开始写的时候直接与tree[root]...
分类:
其他好文 时间:
2014-07-15 12:22:14
阅读次数:
268
Mobile phones
Time Limit: 5000MS
Memory Limit: 65536K
Total Submissions: 14291
Accepted: 6644
Description
Suppose that the fourth generation mobile phone base stati...
分类:
其他好文 时间:
2014-07-15 10:43:45
阅读次数:
224