题意:一个矩形被相对位置严格递增的线段分成n+1块,(线段中不会有相交的),给m个点,判断他们属于哪个区域。点不会在中间的分界线上,但可能在矩形的边线上。解题思路:首先是,如何判断一个点在线段的哪侧,这个可以用叉积来做。如果PP1*PP2
3 #include 4 #include 5 c...
分类:
其他好文 时间:
2014-05-26 12:46:07
阅读次数:
291
MosaicTime Limit: 10000/5000 MS (Java/Others)Memory
Limit: 102400/102400 K (Java/Others)Total Submission(s): 213Accepted
Submission(s): 50Problem Desc...
分类:
其他好文 时间:
2014-05-26 08:47:31
阅读次数:
325
开始刷线段树。其实早就应该刷了,不过前几天由于考试,就没做题。。。
今天刷了6个线段树,感觉刷线段树的感觉没有了。大脑有点迟钝了。。。
还是得好好刷题啊。。。。
------------------------------------------------------------------------
以后每日总结里面不写题目了。。。。。...
分类:
其他好文 时间:
2014-05-26 05:46:46
阅读次数:
204
线段树的单点更新,区域查询操作。
#include
#include
#include
#include
#include
using namespace std;
#define lmin 1
#define rmax n
#define lson l,(l+r)/2,rt<<1
#define rson (l+r)/2+1,r,rt<<1|1
#define root lmin,rmax,1...
分类:
其他好文 时间:
2014-05-26 05:25:50
阅读次数:
187
lmax[i]:i区间内,从左往右,连续的最大长度
rmax[i]:i区间内,从右往左,连续的最大长度
val[i]:i区间的长度。
#include
#include
#include
#include
#include
#include
using namespace std;
#define INF 99999999
#define lmin 1
#define rmax n
#def...
分类:
其他好文 时间:
2014-05-26 05:25:27
阅读次数:
289
区域查询操作。
ma[i]:i区间内的最大值
mi[i]:i区间内的最小值
#include
#include
#include
#include
#include
using namespace std;
#define INF 99999999
#define lmin 1
#define rmax n
#define lson l,(l+r)/2,rt<<1
#define rson ...
分类:
其他好文 时间:
2014-05-26 04:11:41
阅读次数:
202
flag[i]:标记i这个区间的值。
val[i]:i这个区间的长度
#include
#include
#include
#include
#include
using namespace std;
#define INF 99999999
#define lmin 1
#define rmax n
#define lson l,(l+r)/2,rt<<1
#define rson (l+r...
分类:
其他好文 时间:
2014-05-26 03:37:19
阅读次数:
203
一开始实在是不知道怎么做,后来经过指导,猛然发现,只需要记录某个区间内是否有值即可。
flag[i]:代表i区间内,共有的蛋糕数量。
放置蛋糕的时候很好操作,单点更新。
ip:老鼠当前的位置
寻找吃哪一个蛋糕的时候:
1,要寻找0-ip这个区间内,位置最大的一个蛋糕的位置,记为ll。
2,要寻找ip-n这个区间内,位置最小的一个蛋糕的位置,记为rr。
找到ll,rr之后,就可以根据l...
分类:
其他好文 时间:
2014-05-26 03:24:13
阅读次数:
366
设两线段为(x1,y1) ,(x2,y2),
若使两线段相交,需使x1y2||x1>x2&&y1 2 #include 3 #include 4 #define MAXH 1005 5
using namespace std; 6 7 int n, m, k; 8 struct mem{ 9 ...
分类:
其他好文 时间:
2014-05-24 12:43:55
阅读次数:
333