以前见过这题,没做出来,知道是离线处理,这次仔细想了下,首先把出现的高度都map离散化一下,以离散化出来的数目g建树,把每个位置都开俩个vector,一个存以这个位置为L的询问,一个存以这个位置为R的询问。然后从1-g
进行更新,假如当前i是以第j个区间的开始位置,那么这时就可以询问一下 2 #i....
分类:
其他好文 时间:
2014-06-04 19:21:52
阅读次数:
241
议题:线段树(Interval
Tree)分析:线段树是一种二叉搜索树,将一个大区间划分成单元区间,每个单元区间对应一个叶子节点;内部节点对应部分区间,如对于一个内部节点[a,
b]而言,其左子节点表示的区间为[a, (a+b)/2],其右子节点表示的区间为[1+(a+b)/2, b];对于区间长度...
分类:
其他好文 时间:
2014-05-29 01:33:28
阅读次数:
419
最近要毕业了,有半年没做比赛了.这次参加百度之星的初赛娱乐一下.现在写一下解题报告.还是先看看四道题的类型吧1.Scenic
Popularity 暴力 复杂度O( 100 * 100 * 10000 ) 或者O( T * K * R) 线段树2.Chess DP
复杂度 O(n^2)3.Best ...
分类:
其他好文 时间:
2014-05-28 13:19:16
阅读次数:
261
Calculate the FunctionTime Limit:2000MSMemory
Limit:65536KB64bit IO Format:%lld & %lluSubmitStatusAppoint
description:DescriptionYou are given a list ...
分类:
其他好文 时间:
2014-05-27 18:03:16
阅读次数:
394
出题:要求将一个有序整数数组转换成最小深度的Binary Search
Tree表示;分析:由于需要是最小深度,所以BST应保持平衡,左右节点数大致相当,并且BST中当前根节点大于所有其左子树中的元素,小于所有其右子树中的元素。对于排序数组而言,中间元素必然作为根节点,然后递归对由中间元素分割的左右...
分类:
其他好文 时间:
2014-05-26 03:49:39
阅读次数:
369
http://acm.hdu.edu.cn/showproblem.php?pid=1086跨立实验算法#include#include#include#includeusing
namespace std;struct Point{ double x,y;} ;struct Line{ ...
分类:
其他好文 时间:
2014-05-26 02:10:52
阅读次数:
224
这道题可以用线段树或者树状数组,我在网上看有些大神竟然没用线段树和树状数组就把这道题搞出来了。。汗。。。线段树:线段树不能更新到叶子,否则超时。代码:
1 #include 2 #include 3 #include 4 #include 5 #define N 100005 6 using...
分类:
其他好文 时间:
2014-05-25 23:17:40
阅读次数:
287
顺便当作介绍 最萌Oj---nbut这应该算我的第一篇 写题目 主要好累 不想做新题目
而且这题也是蛮有价值的 戳我 好吧 个人还是更喜欢苹果 对棒子的产品无爱 ----话外音题目大意:就是每一行 给你一条线段的2个点 它的2个端点由4个数字 即x
y x1 y1来表示一共给你N行 我们就来判断.....
分类:
其他好文 时间:
2014-05-25 03:40:17
阅读次数:
312
题目链接:点击打开链接
题意:有两种操作,合并集合,查询第K大集合的元素个数。(总操作次数为2*10^5)
Treap模板(静态数组)
#include
#include
#include
#include
#include
const int maxNode = 500000 + 100;
const int inf = 0x3f3f3f3f;
struct Tr...
分类:
其他好文 时间:
2014-05-24 23:18:09
阅读次数:
522
线段树的区域更新,然后单点查询。
x1 x2 c:区域更新x1-x2为c。
全部染色之后,从0-8000依次查询每个点的颜色。然后存贮每一种颜色有几块。
#include
#include
#include
#include
#include
using namespace std;
#define lmin 0
#define rmax 8000
#define lson l,(l+r)/...
分类:
其他好文 时间:
2014-05-24 19:10:12
阅读次数:
221