题目链接 这是求面积并的题目,刚开始我的思路是将挖去的矩形的入边和出边覆盖效果颠倒, 即入边-1,出边+1,后来调试到爆炸,发现这是错误的做法。。原因就是对最简单 的面积并问题没有搞清楚。刚开始接触扫描线的时候我就有一个问题,为什么覆盖 次数不需要向子区间传递,但是我没有仔细去想这个问题,直到遇到这 ...
分类:
其他好文 时间:
2018-02-21 00:25:09
阅读次数:
183
题意 N个人抢M个椅子,M个椅子排成一排 ,第i个人只能坐[1,Li]∪[Ri,M],问最多能坐多少人 $i$人连边向可以坐的椅子构成二分图,题意即是求二分图最大完美匹配,由霍尔定理,答案为$max(|X| \omega(X))$,$X$为人的集合,$\omega(X)$可以表示为$[1,l] \c ...
分类:
其他好文 时间:
2018-02-20 17:32:28
阅读次数:
190
题目链接 要求矩形的面积并 代码不复杂,主要要理解扫描线的思想以及一些细节的处理。 首先需要将接收到的x坐标离散化,方法就是排序去重。接下来的线段树建立在这个 关于x坐标的数组上,这很关键。线段树的节点代表一段区间,这个区间是由x坐标数组的下标 来构成的。更新的时候就根据水平线段的左右x坐标获得区间 ...
分类:
其他好文 时间:
2018-02-19 19:19:57
阅读次数:
181
离线扫描线+查分+线段树 我们发现,这个题的询问都是离线的,所以我们尝试用离线扫描线的方法来处理 对于每一次操作,我们维护一个差分数组, 在询问的时候,我们用一根扫描线,从左往右扫,并用线段树维护,每种礼物的次数, 每扫到一个人,先处理在这个人处的操作,然后查询最大值即可 cpp include i ...
分类:
其他好文 时间:
2018-02-14 22:19:24
阅读次数:
186
先二分答案转化成判定问题。 考虑拿一根扫描线从 $x=0$ 扫到 $x=n$,每次移动扫描线更新每个位置它上面的点数和下面的点数,这样可以确定在当前的扫描线上哪些位置对于 $y$ 轴方向是合法的。对于 $x$ 轴方向合法的点应该处的范围可以直接算出来,树状数组维护。 cpp include incl ...
分类:
其他好文 时间:
2018-02-13 22:14:36
阅读次数:
134
第一题:乘法修改的线段树 一定不能将change,modify分类讨论定两个标记,会有顺序影响 lazy标记一定要long long,又忘了。。。 代码和上一次差不多 第二题:离散暴力,也可以扫描线 离散时要将格子映射成点,不然会出现以下情况: 算横着的小矩形宽就是2,算黄色面积宽还是2,因为没有2 ...
分类:
其他好文 时间:
2018-02-12 20:14:40
阅读次数:
116
【CF815D】Karen and Cards 题意:一张卡片有三个属性a,b,c,其上限分别为A,B,C,现在有n张卡片,定义一张卡片能打败另一张卡片当且仅当它的至少两项属性要严格大于另一张的对应属性。问在所有可能的卡片中,有多少种能打败这全部n张卡。 n,A,B,C<=500000 题解:我们反 ...
分类:
其他好文 时间:
2018-02-12 13:35:26
阅读次数:
172
HDU 1542 [POJ 1151] Atlantis (矩形面积并) 题意: 求N<=100个矩形的面积并 分析: 离散化: 这些技巧都是老生常谈的了, 不然浮点数怎么建树, 离散化x坐标就可以了 扫描线: 首先把矩形按y轴分成两条边, 上边和下边, 对x轴建树, 扫描线可以看成一根平行于x轴的 ...
分类:
其他好文 时间:
2018-02-12 11:17:20
阅读次数:
305
【题解】 差分+扫描线+权值线段树。 我们先把区间操作差分,变成2*m个点操作,然后按照位置对操作进行排序。接着按顺序处理每个位置的答案,如果当前位置有操作,就先在权值线段树上修改,再统计当前点的答案。 要注意的是,题目问的是出现次数最多的礼物的编号,所以权值线段树要维护的不仅是最大值,还有最大值的 ...
分类:
其他好文 时间:
2018-02-11 18:03:17
阅读次数:
153
"题目链接" 或者 "这" 吧。。 被数据坑了 cpp / 操作按左端点排个序 依次进行即可 不是很懂 为什么不写Build 而在Add时改mp[rt]=p 会WA(too short on line 251..) 找到Reason了。。Modify下界写错 那么为什么单点修改正确性会被下界影响。。 ...
分类:
其他好文 时间:
2018-02-10 11:16:48
阅读次数:
208