foj 2144 三位几何+区间覆盖】的更多相关文章

题目大意:一个人站在三维坐标系下的原点处用炮打蚊子,给出n个蚊子的起始坐标跟单位时间匀速移动的方向向量,距离他R以内的蚊子都可以打到,不过他也需要休息,没蚊子的时候也可以休息下.求他要起来多少次打蚊子. #include <iostream> #include <cstdio> #include <cmath> #include <algorithm> using namespace std; ; ; const double Pi=acos(-1.0);…
调用这个Math.Random()函数能够返回带正号的double值,该值取值区间是[0.0,1.0),注意,它是左闭右开区间.返回值是一个伪随机选择的数,在该范围内(近似)均匀分布. 如果生成三位随机数,则参考如下代码: int i = (int)(Math.random()*900 + 100); String myStr = Integer.toString(i); System.out.println(myStr); 由于Math.Random()返回值的类型是double,所以在赋值给…
12-喷水装置(二) 内存限制:64MB 时间限制:3000ms 特判: No 通过数:28 提交数:109 难度:4 题目描述: 有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=10000)个点状的喷水装置,每个喷水装置i喷水的效果是让以它为中心半径为Ri的圆都被润湿.请在给出的喷水装置中选择尽量少的喷水装置,把整个草坪全部润湿. 输入描述: 第一行输入一个正整数N表示共有n次测试数据. 每一组测试数据的第一行有三个整数n,w,h,n表示共有n个喷水装置,w表示草坪…
喷水装置(二) 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=10000)个点状的喷水装置,每个喷水装置i喷水的效果是让以它为中心半径为Ri的圆都被润湿.请在给出的喷水装置中选择尽量少的喷水装置,把整个草坪全部润湿. 输入 第一行输入一个正整数N表示共有n次测试数据.每一组测试数据的第一行有三个整数n,w,h,n表示共有n个喷水装置,w表示草坪的横向长度,h表示草坪的纵向长度.随后的n行,…
题目链接:http://codeforces.com/contest/558/problem/D 题意就是有一个二叉树高度为 h ,人站在根节点上,现在要走出去,出口在叶子节点上,有 q 条信息,每条信息包含了在第 x 层的节点 L 到 R 范围内的叶子节点中是否存在出口,ans=1代表包含,ans=0代表不包 含:求出出口的节点,如果不存在输出Game cheated!   如果出口不止一个输出Data not sufficient! 对左右区间起点和终点组成的集合进行排序.然后找到答案存在的…
题目链接 http://poj.org/problem?id=2528 Description The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been placing their electoral posters at all places at their whim. The city council has finally dec…
喷水装置(二) 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=10000)个点状的喷水装置,每个喷水装置i喷水的效果是让以它为中心半径为Ri的圆都被润湿.请在给出的喷水装置中选择尽量少的喷水装置,把整个草坪全部润湿.   输入 第一行输入一个正整数N表示共有n次测试数据.每一组测试数据的第一行有三个整数n,w,h,n表示共有n个喷水装置,w表示草坪的横向长度,h表示草坪的纵向长度.随后…
http://acm.hust.edu.cn/vjudge/problem/14689 三个操作 [a,b]覆盖为0 [a,b]覆盖为1 [a,b]颠倒每项 两个查询 [a,b]间1数量 [a,b]间最长连续1数量 其实是区间覆盖,区间颠倒和区间合并的结合,可以先看这几道题 区间合并:http://www.cnblogs.com/qlky/p/5745065.html 区间更新(两种更新方式):http://www.cnblogs.com/qlky/p/5737676.html 可以分为两项做:…
Online Judge:Luogu-P2146 Label:树链剖分,线段树区间覆盖 题目大意 \(n\)个软件包(编号0~n-1),他们之间的依赖关系用一棵含\(n-1\)条边的树来描述.一共两种操作: install x:表示安装软件包x uninstall x:表示卸载软件包x 安装\(x\)时,必须得先安装x到根节点路径上所有的软件包:而卸载\(x\)时,必须得先卸载x子树中所有已经安装的软件包.对于每个操作,输出该操作前后,安装状态产生变化的节点的数量. 对于100%的数据,\(n,…
LINK:VMware和基站 一道 做法并不常见的题目 看起来很难写 其实set维护线段就可以解决了. 容易想到 第二个操作借用启发式合并可以得到一个很不错的复杂度 不过利用线段树维护这个东西 在区间覆盖的时候并不能很好的维护. 一个想法是 分块 不过操作比较ex. 第一个操作和第二个操作连在一起会非常的难以处理. 这里给出的做法是:使用set来维护整段的线段 这样在第一个区间覆盖的情况下 每次区间至多增加两个或者可能减少. 在第一步中就是logn的时间内可以维护了.不过细节较多我分类讨论了好几…