博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hihocoder 1582 : Territorial Dispute (计算几何)(2017 北京网络赛E)
阅读量:4451 次
发布时间:2019-06-07

本文共 1840 字,大约阅读时间需要 6 分钟。

题意:给出n个点。用两种颜色来给每个点染色。问能否存在一种染色方式,使不同颜色的点不能被划分到一条直线的两侧。

题解:求个凸包(其实只考虑四个点就行。但因为有板子,所以感觉这样写更休闲一些。)。如果不是所有点都在凸包上,那么把凸包上的点染成颜色1,内部的点染成颜色2;如果是所有点都在凸包上,且点数>3,那么将第一个和第三个点染成颜色1,其余点染成颜色2;否则,不存在满足要求的染色方式。

虽然很弱但是拿到一个一血还是非常开心的~

#include
using namespace std;typedef long long LL;const LL eps=1e-10;const LL pi=acos(-1.0);int dcmp(LL x){ if(x==0LL) return 0; else return x<0? -1:1;}struct Point{ LL x,y; int id; void read() { scanf("%lld%lld",&x,&y); } void output() { printf("%lld %lld\n",x,y); } Point(LL x_=0,LL y_=0) { x=x_,y=y_; } Point operator -(const Point& rhs) { return Point(x-rhs.x,y-rhs.y); } Point operator +(const Point& rhs) { return Point(x+rhs.x,y+rhs.y); } Point operator *(const LL& t) { return Point(x*t,y*t); } Point operator /(const LL& t) { return Point(x/t,y/t); } bool operator ==(const Point& rhs) { return dcmp(x-rhs.x)==0&&dcmp(y-rhs.y)==0; } bool operator<(const Point& rhs)const { return x
1&&dcmp(Area2(ch[m-2],ch[m-1],p[i]))<=0) --m; //直到 ch[m-2],ch[m-1],p[i] 不是顺时针且不在同一直线 ch[m++]=p[i]; } int k=m; for (int i=n-2; i>=0; --i) { while(m>k&&dcmp(Area2(ch[m-2],ch[m-1],p[i]))<=0) --m; ch[m++]=p[i]; } return n>1?m-1:m;}//==============================================int n,nc;Point p[105],ch[105];int c[105];bool ok(){ nc=ConvexHull(p,n,ch); if(nc
3) { c[ch[0].id]=1; c[ch[2].id]=1; return true; } else return false;}int main(){ int T; scanf("%d",&T); while(T--) { scanf("%d",&n); memset(c,0,n*sizeof(int)); for(int i=0;i

 

转载于:https://www.cnblogs.com/Just--Do--It/p/7582228.html

你可能感兴趣的文章
六时车主 App 隐私政策
查看>>
C语言常见问题 如何用Visual Studio编写C语言程序测试
查看>>
Web用户的身份验证及WebApi权限验证流程的设计和实现
查看>>
hdu 2098 分拆素数和
查看>>
[ONTAK2010]Peaks kruskal重构树,主席树
查看>>
ECMAScript6-let与const命令详解
查看>>
iOS 使用系统相机、相册显示中文
查看>>
什么是敏捷设计
查看>>
SCSS的基本操作
查看>>
"安装程序无法定位现有系统分区" 问题解决
查看>>
.NET中栈和堆的比较
查看>>
【莫队】bzoj 3781,bzoj 2038,bzoj 3289
查看>>
如何优化limit
查看>>
几种常用数据库字段类型查询语句
查看>>
字符全排列
查看>>
提高效率必须改掉的7种习惯
查看>>
Java判断语句中判断条件的执行顺序
查看>>
Windows平台下tomcat+java的web程序持续占cpu问题调试
查看>>
OO第四次博客作业!
查看>>
HDU 吉哥系列故事——完美队形II 騰訊馬拉松初賽第二輪D題
查看>>