【搜索】油滴扩展
来源:互联网 发布:日程管理app 知乎 编辑:程序博客网 时间:2024/04/28 16:14
From
注:圆的面积公式V=pi*r*r,其中r为圆的半径。
第2行为长方形边框一个顶点及其对角顶点的坐标,x,y,x’,y’。
接下去N行,每行两个整数xi,yi,表示盒子的N个点的坐标。
以上所有的数据都在[-1000,1000]内。
生成一个全排列,最后检测,不用剪枝也能过。
一个油滴扩展时,半径是和其他圆相切,和四边相切时求出的半径中最小的一个。
一开始错了,因为没有单独讨论油滴在另一个油滴扩展的圆内的情况,这种情况就不能扩展,不单独讨论会变成负面积。。。
#include <cstdio>#include <cmath>#include <string>long x[100000];long y[100000];long que[100000];double r[100000];bool used[100000];long top = 0;long X1,X2,Y1,Y2;long n;const double pi = 3.1415926535897932384626433832795;const double eps = 1e-8;double ans = 0;using namespace std; inline double MIN(double a,double b){ return a<b?a:b;}inline double MAX(double a,double b){ return a>b?a:b;}double DIST(long a,long b){ return sqrt(double((x[b]-x[a])*(x[b]-x[a])+(y[b]-y[a])*(y[b]-y[a])));}long getint(){ long rs=0;char tmp;bool sgn=1; do tmp = getchar(); while (!isdigit(tmp)&&tmp-'-'); if (tmp=='-'){sgn=0;tmp=getchar();} do rs=(rs<<3)+(rs<<1)+tmp-'0'; while (isdigit(tmp=getchar())); return sgn?rs:-rs;}void dfs(long l,double sum){ if (l == n+1) { ans = MAX(sum,ans); return; } for (long i=1;i<n+1;i++) { if (!used[i]) { used[i] = true; double min = 1e19; for (long j=1;j<top+1;j++) { double dd = DIST(que[j],i); if (dd > r[j]+eps) min = MIN(DIST(que[j],i)-r[j],min); else min = 0; } min = MIN(abs(x[i]-X1),min); min = MIN(abs(X2-x[i]),min); min = MIN(abs(y[i]-Y1),min); min = MIN(abs(Y2-y[i]),min); que[++top] = i; r[top] = min; dfs(l+1,sum + pi*min*min); used[i] = false; top--; } }}int main(){ freopen("oil.in","r",stdin); freopen("oil.out","w",stdout); n = getint(); X1 = getint(); Y1 = getint(); X2 = getint(); Y2 = getint(); for (long i=1;i<n+1;i++) { x[i] = getint(); y[i] = getint(); } dfs(1,0); printf("%.0lf",abs(X2-X1)*abs(Y2-Y1)-ans); return 0;}
- 【搜索】油滴扩展
- 【搜索】油滴扩展
- |洛谷|NOIP2010|搜索|P1378 油滴扩展
- 【搜索】洛谷 P1378 油滴扩展
- 油滴扩展_洛谷1378_搜索
- 局域网搜索扩展
- 二分搜索及其扩展
- Lucene搜索扩展笔记
- 二分搜索及其扩展
- EXCEL的搜索扩展-图形中搜索
- 淘宝搜索增强 火狐扩展
- [Delphi] 创建IE搜索扩展
- Ehcahce 搜索类型简单扩展
- lucene3.6.0的扩展搜索
- solr4.0扩展payload搜索
- PHP扩展官方搜索地址
- 油滴扩展( box)
- 油滴扩展 题解
- 应用内支付
- 【搜索】拯救ice-cream
- Struts2 MVC
- LoadString(nID) Problem and Solution
- page49
- 【搜索】油滴扩展
- eclipse乱码问题
- 用VIM编写C/C++程序
- [影评]《大话西游》之:你看,那人好像一只狗耶(外一篇:我们都是那只流泪的猴子。)
- 手机四种刷机方法
- 解决XP“网上邻居”、“查看工作组计算机”打不开的问题
- Xming + PuTTY 在Windows下远程Linux主机使用图形界面的程序
- Difference between clone and copy
- eclipse termios.error: (22, 'Invalid argument')