线段树 O(log(n))个区间覆盖L~R信息每层最多选两个区间 区间最大值 int n;int a[];int mx[];// 当前节点编号,当前表示的区间范围void build(int o,int l,int r){ if(l==r){ mx[o] = a[l]; }else{ int mid ...
分类:
其他好文 时间:
2018-02-10 19:27:50
阅读次数:
155
【题目链接】 题目大意: 说有$m$个区间,要求选出不超过$k$个区间,使这些区间覆盖的长度最长,问最长长度是多少。 题解: 所有区间按$R$从小到大排序之后可以进行$dp$。 $dp[i][j]$表示:拿了小于等于$i$个区间,最后一个以坐标小于等于$j$为结尾的最长覆盖长度 假设第$x$个区间作 ...
分类:
其他好文 时间:
2018-02-08 13:34:47
阅读次数:
140
喷水装置(二) 时间限制:3000 ms | 内存限制:65535 KB 难度:4 喷水装置(二) 时间限制:3000 ms | 内存限制:65535 KB 难度:4 题目分析:本题可以看作是区间覆盖问题,将每个圆的喷射范围映射到区间内。可转换为:如图,数轴上有n个区间[a-x,a+x](如图),选 ...
分类:
其他好文 时间:
2018-02-02 18:41:24
阅读次数:
171
题意:一共有n名员工, n-1条关系, 每次给一个人分配任务的时候,(如果他有)给他的所有下属也分配这个任务, 下属的下属也算自己的下属, 每次查询的时候都输出这个人最新的任务(如果他有), 没有就输出-1。 题解:需要用DFS建树来确立关系, 然后用线段树进行区间覆盖。 DFS建树: 从Boss ...
分类:
其他好文 时间:
2018-01-30 21:14:40
阅读次数:
255
题意 : 给定一个区间长度 n ,接下来给出 m 个子区间,要求最少选出多少个区间才能使得 1~n 这个区间被所选的所有子区间覆盖 分析 : 暴力枚举所有可能的组合可以达到 O( m^m ) ,完全不行 这里考虑动态规划解法 定义 dp[i][j] : 到第 i 个为止,完全覆盖点(即从 1~这个点 ...
分类:
其他好文 时间:
2018-01-23 00:50:28
阅读次数:
186
题目链接:uva 1463 - Largest Empty Circle on a Segment 二分半径,对于每一个半径,用三分求出线段到线段的最短距离,依据最短距离能够确定当前R下每条线段在[0,L]上的可行区间,存在一个点被可行区间覆盖n次。 #include <cstdio> #inclu ...
分类:
其他好文 时间:
2018-01-22 19:32:19
阅读次数:
191
【题目】E. Physical Education Lessons 【题意】10^9范围的区间覆盖,至多3*10^5次区间询问。 【算法】线段树 【题解】每次询问至多增加两段区间,提前括号分段后线段树。 #include<cstdio> #include<cctype> #include<set> ...
分类:
其他好文 时间:
2018-01-15 14:53:43
阅读次数:
253
【题解】 这是一道区间覆盖的题目,我们可以用树状数组或者线段树来解决。显然,每个区间 [L,R] 被多少条线段覆盖这样计算:R左边的线段的左端点数-L左边的线段的右端点数 这样,我们分别维护1~Pos位置上左端点、右端点的个数即可。 1 #include<cstdio> 2 #include<alg ...
分类:
其他好文 时间:
2018-01-05 20:45:59
阅读次数:
163
P2082 区间覆盖(加强版) 题目描述 已知有N个区间,每个区间的范围是[si,ti],请求出区间覆盖后的总长。 输入输出格式 输入格式: N s1 t1 s2 t2 …… sn tn 输出格式: 共一行,一个正整数,为覆盖后的区间总长。 输入输出样例 输入样例#1: 复制 3 1 100000 ...
分类:
其他好文 时间:
2017-12-02 11:17:35
阅读次数:
117
http://www.lydsy.com/JudgeOnline/problem.php?id=4552 二分答案 把>=mid 的数看做1,<mid 的数看做0 这样升序、降序排列相当于区间查询0,1 的个数,区间覆盖0,1 线段树即可完成 查询给定位置p 如果=1,说明p位置的数>=mid ,上 ...
分类:
编程语言 时间:
2017-11-30 23:29:39
阅读次数:
236