摘要:
题意:给定一个点,一个圆,以及一个矩形,现在问从一个点到一个圆再到一个矩形的最短距离为多少?到达一个目标可以只挨着或者穿过它。解法:目前只知道从一个点到圆上按照[0,PI],[PI,2*PI]的两个半圆进行划分确实是满足距离是一个凹函数,但是加上到矩形的距离后仍然满足三分性质则不知道怎么得到的。具体做法是先将整个坐标系平移使得圆心落在(0, 0)处,然后三分枚举圆上的点,距离由两部分组成,一部分是点到圆上点的距离,一部分是点到矩形的距离,后者转化为点到四条线段的距离求解。代码如下:#include <cstdlib>#include <cstring>#include 阅读全文
摘要:
题意:问给定的一张图中,相距最远最远的两个点的距离为多少。解法:直接对每一顶点搜索一遍即可。代码如下:#include <cstdlib>#include <cstring>#include <cstdio>#include <algorithm>#include <iostream>#include <string>#include <map>using namespace std;int N, M;const int INF = 0x3f3f3f3f;map<string,int>mp;stru 阅读全文