电商网站html模板wordpress 显示不全
电商网站html模板,wordpress 显示不全,黄岐网站建设,蓝白清爽企业通用wordpress模板题目链接:
http://bailian.openjudge.cn/tm2019/F/
2236 -- Wireless Network
题面描述: 思路:
这题开了10s#xff0c;所以可以暴力点#xff0c;每次修复一个点#xff0c;就将该点相连的那些边建出来#xff0c;总的时间复杂度为: O(nm)。关键在于如何判定两个点是否…题目链接:
http://bailian.openjudge.cn/tm2019/F/
2236 -- Wireless Network
题面描述: 思路:
这题开了10s所以可以暴力点每次修复一个点就将该点相连的那些边建出来总的时间复杂度为: O(nm)。关键在于如何判定两个点是否是连通的。
刚开始我直接暴力DFS发现T了可能是用了DFS之后导致整个题的常数有点大。
另外一种高效地判别连通性的做法是并查集我们可以在每次添加点的时候还是O(n)的建边但是在查询连通性的时候就直接O(1)的并查集查询了。
代码:
#includeiostream
#includecstdio
#includecstring
#includealgorithm
#includevector
#includecmath
#define ll long long
using namespace std;
const int N1010;
struct node{int x;int y;
};
node a[N];
int n,d;
vectorint edge[N];
int valid[N];
int vis[N];
char op[10];
int fa[N];
void init(){memset(valid,0,sizeof(valid));for(int i1;in;i) {edge[i].clear();fa[i]i;}
}int finds(int x){if(xfa[x]) return x;return fa[x]finds(fa[x]);
}void unions(int x,int y){int ufinds(x);int vfinds(y);if(uv) return ;fa[u]v;return ;
}int check(int aa,int bb){ll res1ll*d*d;ll tmp1ll*(a[aa].x-a[bb].x)*(a[aa].x-a[bb].x)1ll*(a[aa].y-a[bb].y)*(a[aa].y-a[bb].y);if(tmpres) return 1;return 0;
}void build(int x){valid[x]1;for(int i1;in;i){if(!valid[i]) continue;if(check(x,i)){unions(i,x);}}return ;
}int cha(int x,int y){int ufinds(x);int vfinds(y);if(uv) return 1;return 0;}int main(void){scanf(%d%d,n,d);init();for(int i1;in;i){scanf(%d%d,a[i].x,a[i].y);}while(scanf(%s,op)!-1){if(op[0]O){int x;scanf(%d,x);build(x);}else{int x,y;scanf(%d%d,x,y);int flagcha(x,y);if(flag) printf(SUCCESS\n);else printf(FAIL\n);}}return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89391.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!