先写一下对班平面交的理解(之前学计算几何的时候,看了一眼半平面交,没学,然后在一次训练赛里就出了一道半平面交+数学期望的题,看来出来混迟早是要还的),目前大家用的好像都是zzy的半平面交模板,已经放弃的之前的扫描线法了,用犄角的方法,再加上双端队列,可以达到nlogn的时间复杂度。 半平面交说的通俗 ...
分类:
其他好文 时间:
2017-09-08 12:01:13
阅读次数:
179
枚举最后光线射到终点的方向,求出从起点出发以及从终点出发的光路,扫描线+树状数组统计交点个数即可。 注意当光路成环时,对应的两个方向应该只算一次。 时间复杂度$O(n\log n)$。 ...
分类:
其他好文 时间:
2017-09-07 09:55:44
阅读次数:
130
http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1335 【题意】 给定n座桥的高度,给定m次洪水每次的涨水水位ai和退水水位bi 询问有多少座桥被淹的次数大于等于k 洪水最开始的水位为1 【思路】 每座桥被淹一次是这样的:开始时的水位小于桥的高 ...
分类:
编程语言 时间:
2017-08-26 15:54:57
阅读次数:
178
莫队貌似是过不了的,这题是我没见过的科技... 首先区间按右端点排序,然后一个扫描线,扫到某个区间右端点时候计算答案,线段树上节点的信息并不需要明确定义,我们只要求线段树做到当前扫到now时,查询[L,now]即为这一段的答案。 朴素的不加优化的做法,我们在每一个点R加进来的时候要更新1~R-1所有 ...
分类:
其他好文 时间:
2017-08-25 01:22:18
阅读次数:
250
题目链接:poj 2464 Brownie Points II 题意: 题意很迷啊。 有一些点,Stan选择某个点,经过这个点画一条竖线,Ollie选择一个经过这条直接的点画了条横线。 Stan选一,三象限的点,Ollie选二、四象限的点。 Stan的策略是,自己画一条竖线之后,Ollie有很多种选 ...
分类:
其他好文 时间:
2017-08-23 21:40:58
阅读次数:
197
题目大意:给你n(n<=1e9)条垂直于x轴或者与x轴平行的线,问你这些线占了多少个点。 写的时候感觉就是一道线段树,可是想不出来,后来题解说可以转化成面积问题,就知道 怎么写了,是一道线段树加扫描线求面积并的问题。 思路:将一条线转化为宽度为1的矩形,然后用线段树+扫描线+离散化求面积并就行了, ...
分类:
其他好文 时间:
2017-08-20 18:40:45
阅读次数:
151
可以转变成上一题(hdu1542)的形式,把每条线段变成宽为1的矩形,求矩形面积并 要注意的就是转化为右下角的点需要x+1,y-1,画一条线就能看出来了 #include<bits/stdc++.h> #define pi acos(-1.0) #define ll long long #defin ...
分类:
其他好文 时间:
2017-08-18 19:56:17
阅读次数:
187
平面上n个点,每个点带权,任意两点间都有连线,连线的权值为两端点权值之积。没有两点连线过原点。让你画一条过原点直线,把平面分成两部分,使得直线穿过的连线的权值和最大。 就把点极角排序后,扫过去,一侧的点会跨过直线与另一侧的所有点形成连线。此时的答案为两侧的权值和之积,尝试用此更新最终答案。 ...
分类:
编程语言 时间:
2017-08-17 00:45:01
阅读次数:
227
裸题... 依旧是写了BIT和线段树两种(才不是写完线段树后才想起来可以写BIT呢 怎么卡常数都挺大...QAQ ccz和yy的写法好快哇 BIT: #include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #in ...
分类:
其他好文 时间:
2017-08-17 00:35:20
阅读次数:
164