
扫描线
olahiuj
我的女朋友不抽烟不喝酒不傲娇不化妆不存在
展开
-
hdu6638 Snowy Smile 离散 扫描线 线段树
题意给n个带权点,求最大子矩阵和做法没想到n^2log的做法,老年选手预兆考虑离散,枚举矩形的下边界,然后一行一行加入点,用线段树维护最大子段和每加入一整行我们就在线段树中查询、更新答案我的代码常数特别大,但是能过,这就很奇妙。。代码#include <stdio.h>#include <string.h>#include <algorithm>#include <vector>#define rep(i,st,ed) for原创 2020-09-17 14:11:48 · 394 阅读 · 0 评论 -
loj #3085 「GXOI / GZOI2019」特技飞行 扫描线+树状数组+计算几何
Description太长了自己看。。。Solution强行题套题,真·GDOI模拟首先可以发现A和B操作都不会影响交点的位置,那么C的贡献就是固定的了。这个可以先求出交点然后转换坐标系二维数点,离线拆分扫描线+树状数组就行了。因为有可能是实数所以离散不太好写考虑什么时候能交换就交换。注意到一次相交意味着二者在最后会交换顺序,因此每个交点都做一次A恰好能满足初始相对顺序,且在A>...原创 2019-04-24 19:49:33 · 415 阅读 · 0 评论 -
bzoj3488: [ONTAK2010]Highways 扫描线+树状数组
Description给一棵n个点的树以及m条额外的双向边q次询问,统计满足以下条件的u到v的路径:恰经过一条额外的边不经过树上u到v的路径上的边n,m<=1e5,q<=5e5Solution非常眼熟。之前做过树套树的做法,现在内存卡得紧可以考虑扫描线的做法。我们把一个矩形查询看成四个前缀和相加减的形式,然后扫描线+树状数组维护前缀和就可以了这个getup好像每次...原创 2018-12-05 18:18:22 · 216 阅读 · 0 评论 -
bzoj4548 小奇的糖果 扫描线+链表+树状数组
Description有 N 个彩色糖果在平面上。小奇想在平面上取一条水平的线段,并拾起它上方或下方的所有糖果。求出最多能够拾起多少糖果,使得获得的糖果并不包含所有的颜色。包含多组测试数据,第一行输入一个正整数 T 表示测试数据组数。接下来 T 组测试数据,对于每组测试数据,第一行输入两个正整数 N、K,分别表示点数和颜色数。接下来 N 行,每行描述一个点,前两个数 x, y (|x|...原创 2018-12-08 16:52:27 · 217 阅读 · 0 评论 -
bzoj4009 [HNOI2015]接水果 整体二分+扫描线+树状数组
Description给定一棵n个节点的树,m条带权树上路径(x,y,w),q个询问,求包含给定路径(a,b)的带权路径中权值第k小路径的权值N,P,Q<=40000。Solution现在看啥都是病句了,病句学起来好毒啊考虑单次询问怎么做。按照dfs序我们把一条路径视作二维平面上的一个点,把盘子能覆盖的路径视作一个或两个矩形,二分答案扫描线做矩形覆盖就行了。现在多了多组询问,...原创 2018-12-04 21:40:06 · 170 阅读 · 0 评论 -
bzoj4418 [Shoi2013]扇形面积并 扫描线+二分+树状数组
Description给定N个同心的扇形,求有多少面积,被至少K个扇形所覆盖。对于100%的数据,1≤n≤105, 1≤m≤106,1≤k≤5000,1≤ri≤105,-m≤a1,a2≤mSolution我们把圆心拉成直线,然后就变成了矩形覆盖。扫描线做就可以了由于一定是扇形,因此覆盖次数一定是单调的。线段树维护差分数组可以在线段树上二分做到一个log,二分+树状数组也可以跑得很...原创 2018-11-08 15:15:26 · 194 阅读 · 0 评论 -
bzoj2658 [Zjoi2012]小蓝的好友(mrx) 扫描线+treap
Description终于到达了这次选拔赛的最后一题,想必你已经厌倦了小蓝和小白的故事,为了回馈各位比赛选手,此题的主角是贯穿这次比赛的关键人物——小蓝的好友。在帮小蓝确定了旅游路线后,小蓝的好友也不会浪费这个难得的暑假。与小蓝不同,小蓝的好友并不想将时间花在旅游上,而是盯上了最近发行的即时战略游戏——SangoCraft。但在前往通关之路的道路上,一个小游戏挡住了小蓝的好友的步伐。...原创 2018-06-22 20:11:13 · 235 阅读 · 0 评论 -
jzoj3965 The Lazy Cow
Description夏天很热,贝茜越发地懒散了。她想要使自己位于她的田里一个尽可能在短距离内够到美味的青草的位置。 贝茜的田里有N(1<= N <=100,000)片青草。第i 片有gi 单位的青草(1<=gi<=10,000),并且它唯一地位于田里坐标为(xi,yi)(0<= xi, yi<=1,000,000)的点。贝茜想要在田地里选一个点作为她...原创 2018-03-11 00:42:50 · 200 阅读 · 0 评论 -
bzoj2161布娃娃 线段树
Description小时候的雨荨非常听话,是父母眼中的好孩子。在学校是老师的左右手,同学的好榜样。后来她成为艾利斯顿第二 代考神,这和小时候培养的良好素质是分不开的。雨荨的妈妈也为有这么一个懂事的女儿感到高兴。一次期末考试 ,雨荨不知道第多少次,再次考了全年级第一名。雨荨的妈妈看到女儿100分的成绩单时,脸上又泛起了幸福的笑 容,作为奖励,她给雨荨买了n个布娃娃。细心的雨荨发现,第原创 2018-01-18 16:03:32 · 346 阅读 · 0 评论 -
Picture usaco5.5 扫描线+线段树+离散
Description给出n个矩形,若某条边的一段被某个矩形覆盖,则这一段就会消失,求剩下的边的总长度。Solution那一天wjp终于想起了usaco帐号咳咳,扫描线+离散+线段树,把一个矩形拆成四条线段做就行了这里n有5000,线段树一艹到底显然是不行的。那么我们用CiC_i表示i节点被覆盖了多少次,ViV_i表示i节点的覆盖状态,0、1、2分别表示完全没覆盖、部分覆盖、全覆盖,然后就a了实测p原创 2017-02-26 21:14:22 · 446 阅读 · 0 评论 -
覆盖的面积 hdu1255 扫描线+线段树
Problem Description给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积.Solution这道题也是类似的,只要在统计的时候看看是否被覆盖两次就可以了。n很大所以艹到底的线段树有点吃力 1ACode#include <stdio.h>#include <string.h>#include <vector>#include <algorithm>#define re原创 2017-02-24 18:41:56 · 383 阅读 · 0 评论 -
Atlantis poj1151 扫描线+线段树
Description给定一些矩形的左下和右上坐标,求形成图形的总面积Solution嗯这道题按理说离散是可以艹过去的写的优美一些应该没问题毕竟n才100于是我采用了扫描线的做法(滑稽首先把x、y坐标分别离散,然后将横向的线段保存并按x坐标升序排序,这样我们得到的是2n条线段,为了区分我们把矩形的下部线段标为1,上部标为-1接着就建一棵线段树,每次遇到下边就插入一段线段(连续+1),遇到上边就删除一原创 2017-02-23 21:23:07 · 462 阅读 · 0 评论