HDU 1166
题意:1-n个堡垒,人数在不断变化,多次查询 l-r人数和;
思路:线段树的单点更新;
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define INF 0x3fffffff
#define MAXN 50001
#define ls...
分类:
其他好文 时间:
2014-08-18 13:09:42
阅读次数:
210
Problem:
Give a series of IP segments, for example, [0.0.0.1-0.0.0.3], [123.234.232.21-123.245.21.1]...
Now there is a new IP, find which IP segment it's in ?
Solution:
First, we could map the end...
分类:
其他好文 时间:
2014-08-18 00:18:13
阅读次数:
309
http://poj.org/problem?id=3225
一道题又做了一天。。这道题对我来说起初有N多难点。
1:区间的开闭如何解决。、
2:怎样把区间的交并补、对称差转化为对线段树的操作。
后来与实验室的同学讨论了后解决了前面两个问题。
对于区间的开闭,可以将区间放大一倍,偶数点表示端点,奇数点表示区间内线段,前开的话左端点加1,右开的话右端点减1。例如[1,3]可以表示成...
分类:
其他好文 时间:
2014-08-17 21:25:42
阅读次数:
317
Potted Flower
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 4186
Accepted: 1581
Description
The little cat takes over the management of a new park. There...
分类:
其他好文 时间:
2014-08-17 18:39:42
阅读次数:
350
UVA 1492 - Adding New Machine
题目链接
题意:给定一些旧机器管辖范围,现在要放一台进新机器,新机器需要空间1*m,问有多少种放法
思路:转化为求面积并的问题,先考虑横放,对于旧机器左边m个位置肯定不能放,还有边界w-m之后的位置肯定不能放,这样就可以把旧机器向左扩大m个位置,并且边界多上一块m*h大小的面积,这样求出这些面积并再用总面积减去即可,求面...
分类:
其他好文 时间:
2014-08-17 15:40:02
阅读次数:
245
反向标记是错的,要对矩形进行拆分#include #include #include #include typedef long long LL;using namespace std;#define lson rt seg;void pushup(int rt, int l, int r) { ....
分类:
其他好文 时间:
2014-08-17 14:16:52
阅读次数:
173
题意:给你一些矩形的左上角点的坐标和右下角点的坐标,求周长并最显而易见的思路就是对于x轴和y轴做两次扫描线,对于负数的坐标进行离散化。每次增加的值是线段变化量的绝对值。具体写法和求面积并的差不多。#include #include #include #include using namespace ...
分类:
其他好文 时间:
2014-08-17 14:12:52
阅读次数:
206
解题报告
题意:
又是求面积并
思路:
又是求面积并,还被坑了,题目明明描述的是int坐标,用了double才过。。。
#include
#include
#include
#include
using namespace std;
struct Seg {
double lx,rx,h;
int v;
friend bool operator <(Seg...
分类:
其他好文 时间:
2014-08-17 13:07:12
阅读次数:
195
题目链接:点击打开链接
题意见白书P248
思路:
先把读入的y值都扩大2倍变成整数
然后离散化一下
用线段树来维护y轴 区间上每个点的 城市数量和联通块数量,
然后用并查集维护每个联通块及联通块的最大最小y值,还要加并查集的秩来记录每个联通块的点数
然后就是模拟搞。。
T^T绝杀失败题。。似乎数组开小了一点就过了,==
#include
#include
#includ...
分类:
其他好文 时间:
2014-08-17 01:09:01
阅读次数:
247
poj3667 Hotel区间合并入门题,照着代码打的,题意:1 a:询问是不是有连续长度为a的空房间,有的话住进最左边 2 a b:将[a,a+b-1]的房间清空思路:记录区间中最长的空房间,开三个数组,msum[rt]表示节点rt内连续的1的个数的最大值,lsum[rt]表示从节点rt左端点.....
分类:
其他好文 时间:
2014-08-17 00:57:01
阅读次数:
207