LA 3270 - Simplified GSM Network
来源:互联网 发布:京东数据分析笔试 编辑:程序博客网 时间:2024/04/25 12:50
还是觉得应该先把论文刷完
感觉好像掌握了构造维诺图的特殊技巧
论文的方法真是奥妙重重
但是时间复杂度怎么算,我有点方
O(ans)?
#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<queue>#define sqr(x) ((x)*(x))using namespace std;const int inf=1e9;struct point{double x,y;}b[55],c[55];int B,C;struct Edge{int to,next,v;}e[20005];int head[55],cnt;void ins(int u,int v,int w){e[++cnt]=(Edge){v,head[u],w};head[u]=cnt;}void insert(int u,int v,int w){ins(u,v,w);ins(v,u,w);}point getmid(point a,point b){return (point){(a.x+b.x)*0.5,(a.y+b.y)*0.5};}double dist(point a,point b){return sqrt(sqr(a.x-b.x)+sqr(a.y-b.y));}int belong(point a){double ans=1e60;int p;for(int i=1;i<=B;i++)if(dist(a,b[i])<ans)ans=dist(a,b[i]),p=i;return p;}int calc(point a,point b){if(belong(a)==belong(b))return 0;if(dist(a,b)<1e-6)return 1;return calc(a,getmid(a,b))+calc(getmid(a,b),b);}int d[55];bool inq[55];void spfa(int s){memset(d,0x3f,sizeof(d));d[s]=0;queue<int>q;q.push(s);while(!q.empty()){int u=q.front();q.pop();inq[u]=0;for(int i=head[u];i;i=e[i].next){int v=e[i].to;if(d[v]>d[u]+e[i].v){d[v]=d[u]+e[i].v;if(!inq[v]){inq[v]=1;q.push(v);}}}}}int main(){//freopen("a.in","r",stdin);int R,Q,kase=0;while(scanf("%d%d%d%d",&B,&C,&R,&Q)&&B){for(int i=1;i<=B;i++)scanf("%lf%lf",&b[i].x,&b[i].y);for(int i=1;i<=C;i++)scanf("%lf%lf",&c[i].x,&c[i].y);memset(head,0,sizeof(head));cnt=0;while(R--){int u,v;scanf("%d%d",&u,&v);insert(u,v,calc(c[u],c[v]));}printf("Case %d:\n",++kase);while(Q--){int s,t;scanf("%d%d",&s,&t);spfa(s);if(d[t]>inf)puts("Impossible");else printf("%d\n",d[t]);}}return 0;}
0 0
- LA 3270 - Simplified GSM Network
- UVALive 3270 Simplified GSM Network 二分+Floyd
- Simplified GSM Network
- Home Network Security Simplified
- GSM NETWORK 浅析
- LA - 3027 - Corporative Network
- LA--3027--Corporative Network
- LA 3027 Corporative Network
- LA 3027 - Corporative Network
- LA 3902 Network
- LA 3027 Corporative Network
- LA 3027 - Corporative Network
- LA 4731 Cellular Network
- 3902 - Network (LA)
- LA 3027 Corporative Network
- LA 3027 Corporative Network
- LA 3027 - Corporative Network
- LA 3902 Network 网络
- 软件开发流程
- PDE8 wave equation: derivation
- Unity 单指与双指Touch事件捕获
- 开发进度月报
- MySQL语句链接
- LA 3270 - Simplified GSM Network
- 搜索练习题
- js性能优化
- 最小生成树&&次小生成树
- 移动互联之-- React Native
- [leetcode 64] Minimum Path Sum------从左上角到右下角的最小路径值
- 玩转K60---(一)基于K60 _PORT端口的
- KVM镜像静态复制实践总结
- PDE9 wave equation: general solution