博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 3622 二分+2-sat
阅读量:6967 次
发布时间:2019-06-27

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

/*二分+2-sat题意:在一个二维平面上给你n个炸弹,和2*n个位置,每一行的两个位置仅仅能有一个放炸弹如今炸弹爆炸有一个半径。当炸弹爆炸时两个炸弹的半径化成的圆不能相交,求最大半径二分半径。每次假设一个炸弹可放的两个位置中的一个与其它位置有矛盾,就进行建边。最后推断是否存在这样一组解就可以。*/#include
#include
#include
#define eps 1e-5#define N 210struct node {int u,v,next;}bian[N*N];int head[N],dfn[N],low[N],stac[N],yong,index,top,vis[N],ans,belong[N];void init() {memset(head,-1,sizeof(head));memset(dfn,0,sizeof(dfn));memset(low,0,sizeof(low));memset(stac,0,sizeof(stac));yong=0;index=0;top=0;;memset(vis,0,sizeof(vis));ans=0;memset(belong,0,sizeof(belong));}void addedge(int u,int v) {bian[yong].u=u;bian[yong].v=v;bian[yong].next=head[u];head[u]=yong++;}int Min(int v,int vv) {return v>vv?vv:v;}void tarjan(int u) { dfn[u]=low[u]=++index; stac[++top]=u; vis[u]=1; int i; for(i=head[u];i!=-1;i=bian[i].next) { int v=bian[i].v; if(!dfn[v]) { tarjan(v); low[u]=Min(low[u],low[v]); } else if(vis[v]) low[u]=Min(low[u],dfn[v]); } if(dfn[u]==low[u]) { ans++; int t; do { t=stac[top--]; belong[t]=ans; vis[t]=0; }while(t!=u); }}struct nodee{int u,v,index;}f[N*N];int n;double distance(nodee d,nodee dd) {return 1.0*(d.u-dd.u)*(d.u-dd.u)+1.0*(d.v-dd.v)*(d.v-dd.v);}int judge(double r) { int i,j; init(); for(i=0;i<2*n-1;i++) for(j=i+1;j<2*n;j++) { if(i==(j^1))continue; if(distance(f[i],f[j])<(r*2)*(r*2)) {//假设有冲突就进行 addedge(i,j^1); addedge(j,i^1); } } for(i=0;i<2*n;i++) if(!dfn[i]) tarjan(i); for(i=0;i
eps) { mid=(left+right)/2; // printf("%.2f\n",mid); if(judge(mid))left=mid+eps; else right=mid-eps; } printf("%.2f\n",left); }return 0;}

转载地址:http://lxisl.baihongyu.com/

你可能感兴趣的文章
初识Hibernate框架
查看>>
System Center 2012 SP1系列之SCO篇-(1)Orchestrator 安装
查看>>
第三只眼睛看美国
查看>>
数据库服务器事故总结
查看>>
什么是socket
查看>>
jquery学习笔记
查看>>
jquery下拉导航菜单(扩展很方便)
查看>>
js数字比较【牢记】
查看>>
如何实现密码域灰色默认提示?
查看>>
zabbix
查看>>
JAVA--虚函数,抽象函数,抽象类,接口
查看>>
解决 You could try using --skip-broken to work around the problem
查看>>
php清楚squid缓存
查看>>
openstack Folsom版本安装
查看>>
Cisco Catalyst 交换机一直处于rommon模式无法启动IOS问题的解决
查看>>
java io以及unix io模型
查看>>
syslog及syslog-ng详解
查看>>
UITableViewController
查看>>
我的友情链接
查看>>
Java源码分析系列之HttpServletRequest源码分析
查看>>