题解 P3829 【[SHOI2012]信用卡凸包】
ShineEternal
2019-08-16 11:02:11
节选自:[vercont的一篇洛谷日报](https://45475.blog.luogu.org/convex-hull)
### 题目链接:
[P3829 [SHOI2012]信用卡凸包](https://www.luogu.org/problem/P3829)
是一道上海的省选题,不过并不难。
### 题意简叙:
![](https://cdn.luogu.com.cn/upload/pic/6549.png)
给你一堆如上图所示的卡片,求其凸包周长(凸包可以包含圆弧)
### 分析:
**我主要是来对那个转换画图说明一下,不然有些人可能云里雾里**
我们可以先来考虑$r=0$的情况。
发现$r=0$即为信用卡为矩形,于是就按照正常的思路将点列出跑Graham算法即可。
---
然后开始想正解
因为样例三是最普遍的情况,所以研究一下:
![](https://i.loli.net/2019/08/15/kVngAqUotbxI4RY.png)
首先带有圆弧的凸包不好处理呢。
于是我们把每一个被磨圆的顶角往圆心里看,再重新构造凸包,然后发现黑色内圈与绿蓝外圈有重叠部分。
再分解一下,如红笔。
**发现恰好多出4个$\frac{1}{4}$圆弧,也就是一个圆**
再验证几个发现也是对的。
于是这个问题就转换为裸的凸包模板了。
#### 这种题目里面都告诉凸包了,关键在于怎么转换,不然生搬硬套,很难得分