Acwing第 31 场周赛完结
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Acwing第 31 场周赛完结相关的知识,希望对你有一定的参考价值。
目录
4200. 简单问题【水题】
https://www.acwing.com/problem/content/4203/
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N];
int main(void)
for(int i=0;i<6;i++) cin>>a[i];
int cnt=0;
for(int i=0;i<1e5;i++)
if(i>=a[4]&&i<=a[5])
bool flag=true;
for(int j=0;j<4;j++) if(i>=a[j]) flag=false;
if(flag) cnt++;
cout<<cnt;
return 0;
4201. 01数【爆搜】
https://www.acwing.com/problem/content/4204/
#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
LL n,cnt;
void dfs(LL sum)
if(sum>n) return;
cnt++;
dfs(sum*10+1);
dfs(sum*10+0);
int main(void)
cin>>n;
dfs(1);
cout<<cnt<<endl;
4202. 穿过圆【思维+bitset】
https://www.acwing.com/problem/content/description/4205/
遍历n个点,每个点对m个圆有在圆内和圆外两个状态,园内表示0,圆外表示1,把状态用二进制存储下来
如果a点,b点两个点,a在圆内b在圆外,或者a在圆外b在圆内,那么这个圆是一定需要穿过的
从a点到b点最少需要穿过的圆数等于,两个状态的异或后的1的数量
#include<bits/stdc++.h>
using namespace std;
#define x first
#define y second
const int N=1e3+10;
typedef long long int LL;
typedef pair<LL,LL> PII;
PII a[N],c[N];
LL n,m,k,r[N];
bitset<N>st[N];
bool check(int i,int j)
LL len=(a[i].x-c[j].x)*(a[i].x-c[j].x)+(a[i].y-c[j].y)*(a[i].y-c[j].y);
if(len>r[j]*r[j]) return 1;
else return 0;
int main(void)
cin>>n>>m>>k;
for(int i=0;i<n;i++) cin>>a[i].x>>a[i].y;
for(int i=0;i<m;i++) cin>>r[i]>>c[i].x>>c[i].y;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
st[i][j]=check(i,j);
while(k--)
int x,y; cin>>x>>y;
cout<<(st[x-1]^st[y-1]).count()<<endl;
return 0;
以上是关于Acwing第 31 场周赛完结的主要内容,如果未能解决你的问题,请参考以下文章