当前位置:网站首页>Wireless network (preprocessing + concurrent search)
Wireless network (preprocessing + concurrent search)
2022-07-03 20:25:00 【MangataTS】
Topic link
https://www.acwing.com/problem/content/4269/
Ideas
because n For the range of 1k, Then we can put every point in advance d All points in the range are stored , This is an edge that is not clear whether it can be connected , Let's have another one v i s [ i ] vis[i] vis[i] Record the current number i Whether the computer is turned on . As for the relationship between these computers, we can maintain computers in the same set by merging and searching sets , We now have two operations :
- 'O’ operation : take p Computer on
- 'S’ operation : Inquire about p and q Whether in a collection
As mentioned earlier, we maintain this data relationship by merging and searching sets , For the first operation , We will p All around the computer Turn on the computer Merge (merge operation ) And put the current computer Mark as power on , For the second operation, we directly query p Computer and q Whether the computer is in the same set
Code
#include<bits/stdc++.h>
using namespace std;
//---------------- Custom part ----------------
#define ll long long
#define mod 1000000007
#define endl "\n"
#define PII pair<int,int>
#define INF 0x3f3f3f3f
int dx[4] = {
-1, 0, 1, 0}, dy[4] = {
0, 1, 0, -1};
ll ksm(ll a,ll b) {
ll ans = 1;
for(;b;b>>=1LL) {
if(b & 1) ans = ans * a % mod;
a = a * a % mod;
}
return ans;
}
ll lowbit(ll x){
return -x & x;}
const int N = 1e3+10;
//---------------- Custom part ----------------
ll t,n,d,m,fa[N];
struct Point{
ll x,y;
};
vector<Point> V;
vector<int> E[N];
bool vis[N];
ll find(ll x){
ll t = x;
while(t != fa[t]) t = fa[t];
while(x != fa[x]){
ll temp = fa[x];
fa[x] = t;
x = temp;
}
return x;
}
bool is_in(Point a,Point b){
ll x = (a.x - b.x),y = (a.y - b.y);
ll len = x * x + y * y;
return len <= d * d;
}
void init(){
ll x,y;
V.clear();
V.push_back({
0,0});
for(int i = 1;i <= n; ++i) {
vis[i] = false;
fa[i] = i;
cin>>x>>y;
V.push_back({
x,y});
E[i].clear();
}
for(int i = 1;i <= n; ++i) {
for(int j = 1;j <= n; ++j) {
if(i == j) continue;
if(is_in(V[i],V[j]))
E[i].push_back(j);
}
}
}
void slove(){
init();
char op;
while(cin>>op) {
ll u,v,k;
if(op == 'O'){
cin>>u;
k = find(u);
for(int i = 0,l = E[u].size();i < l; ++i) {
if(!vis[E[u][i]]) continue;
v = find(E[u][i]);
if(k != v) fa[v] = k;
}
vis[u] = true;
}
else{
cin>>u>>v;
u = find(u),v = find(v);
if(u == v)
cout<<"SUCCESS"<<endl;
else
cout<<"FAIL"<<endl;
}
}
}
int main()
{
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
while(cin>>n>>d){
slove();
}
return 0;
}
边栏推荐
- Viewing Chinese science and technology from the Winter Olympics (II): when snowmaking breakthrough is in progress
- Global and Chinese market of electrolyte analyzers 2022-2028: Research Report on technology, participants, trends, market size and share
- In 2021, the global foam protection packaging revenue was about $5286.7 million, and it is expected to reach $6615 million in 2028
- Preliminary practice of niuke.com (11)
- Make a simple text logo with DW
- 7. Data broker presentation
- Realize user registration and login
- Get log4net log file in C - get log4net log file in C
- Test panghu was teaching you how to use the technical code to flirt with girls online on Valentine's Day 520
- Ruby replaces gem Alibaba image
猜你喜欢

2.1 use of variables

Nerfplusplus parameter format sorting

Preliminary practice of niuke.com (11)

Research Report on the overall scale, major manufacturers, major regions, products and application segmentation of rotary tablet presses in the global market in 2022

FPGA 学习笔记:Vivado 2019.1 工程创建

An old programmer gave it to college students
![Oak-d raspberry pie cloud project [with detailed code]](/img/34/76b461bf03fba373da5b5898c5204c.jpg)
Oak-d raspberry pie cloud project [with detailed code]

Introduction to golang garbage collection

Viewing Chinese science and technology from the Winter Olympics (II): when snowmaking breakthrough is in progress

Line segment tree blue book explanation + classic example acwing 1275 Maximum number
随机推荐
Introduction to golang garbage collection
2166. Design bit set
Print linked list from end to end
Global and Chinese market of rubidium standard 2022-2028: Research Report on technology, participants, trends, market size and share
[Yu Yue education] basic reference materials of manufacturing technology of Shanghai Jiaotong University
Sightseeing - statistics of the number of shortest paths + state transfer + secondary small paths
2022 Xinjiang latest road transportation safety officer simulation examination questions and answers
Phpstudy set LAN access
[raid] [simple DP] mine excavation
Micro service knowledge sorting - cache technology
About callback function and hook function
LabVIEW training
Qtablewidget control of QT
4. Data splitting of Flink real-time project
Class loading process
6006. Take out the minimum number of magic beans
11-grom-v2-04-advanced query
Rd file name conflict when extending a S4 method of some other package
Golang type assertion and conversion (and strconv package)
February 14-20, 2022 (osgear source code debugging +ue4 video +ogremain source code transcription)