
--几何---
a1s4z5
这个作者很懒,什么都没留下…
展开
-
Poj 1177 Picture
一个经典的扫描线入门题矩形周长并 题意就不描述了主要记一下写这个题的时候的一些想法矩形周长并的扫描线做法中强调的一点是每次要求一个0和1的交换(也就是0变成1或者1变成0) 或者说,每次更新之后我们要统计的是发生0和1交换的区间的长度 但是,为什么呢,为什么一定是0和1的交换呢?不妨在脑海里建立一个直角坐标系,所有区域的初始值都是0,对于每一个矩形,我们把矩形所占的区域的值都+1如果你真的按照原创 2016-04-04 13:31:08 · 351 阅读 · 0 评论 -
poj 3277 City Horizon
又是一个简单的扫描线入门题因为这题的题面的特殊性,连线段树都不需要了用来代替线段树的是一个支持插入一个数,删除一个数,求当前集合中最大的数的一个集合幸运的是std::multiset就支持以上操作so,详细见代码#include#include#include#includeusing namespace std;#define LL原创 2016-04-05 20:50:50 · 341 阅读 · 0 评论 -
Codeforces 350D - Looking for Owls
给出一些圆和线段。定义一个“猫头鹰”是满足以下四个条件的一个线段和两个圆的集合。两个圆半径相等两个圆没有交点两个圆关于线段对称两个圆圆心的连线和线段有交点圆的个数≤1500\le 1500,线段个数≤3×105\le 3 \times 10^5因为圆比较少,考虑枚举圆对统计符合条件的线段个数。首先将线段按照是否在同一条直线上分类。可以考虑用斜率和截距作为特征放在map<int,pair<i原创 2016-11-02 12:15:20 · 474 阅读 · 0 评论