首页 > 其他分享 >AtCoder Beginner Contest 215

AtCoder Beginner Contest 215

时间:2023-08-26 19:33:11浏览次数:53  
标签:Node AtCoder 215 Beginner minn int maxn xj

[ABC215F] Dist Max 2

 二分出 min( | xi - xj | , | yi - yj | ),双指针维护是否存在满足条件的点对(i, j),假如二分当前值是x,那么 |xi - xj| >= x &&|yi - yj| >= x 

#include<bits/stdc++.h>
using namespace std;
#define endl "\n"
typedef long long ll;

const int N = 2e5 + 5;

struct Node{
    int x, y;
} a[N];

bool cmp(Node t1, Node t2){
    return t1.x < t2.x;
}

int n;

bool check(int x){
    int maxn = INT_MIN, minn = INT_MAX;
    for(int i = 1, j = 1; i <= n; i++){
        while(j < i && a[i].x - a[j].x >= x){
            maxn = max(maxn, a[j].y);
            minn = min(minn, a[j].y);
            j++;
        }
        if(maxn >= a[i].y + x)return true;
        if(minn <= a[i].y - x)return true;
    }
    return false;
}

int main(){
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
    cin >> n;
    for(int i = 1; i <= n; i++) cin >> a[i].x >> a[i].y;
    sort(a + 1, a + 1 + n, cmp);
    int L = 0, R = 1e9 + 10;
    while(L + 1 < R){
        int M = (L + R) >> 1;
        if(check(M)) L = M;
        else R = M;
    }
    cout << L << endl;
    return 0;
}
View Code

 

标签:Node,AtCoder,215,Beginner,minn,int,maxn,xj
From: https://www.cnblogs.com/zhujio/p/17659312.html

相关文章

  • P2151 [SDOI2009] HH去散步 题解
    传送门简要题意:有\(n\)个人,\(m\)条无向边,走\(e\)条边,满足条件若第\(i\)条边为\(u->v\)则第\(i+1\)条边不能是\(v->u\),问\(s->t\)的方案有多少个,取模45989。因为要满足题目关于边的条件,所以我们考虑点边互换。将\(u-v\)的无向边一分为二变成\(u->v,v->u\),第\(i\)条边记录两个变......
  • AtCoder Beginner Contest 314
    A-3.14#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongint32_tmain(){ios::sync_with_stdio(0),cin.tie(0);strings="141592653589793238462643383279502884197169399375105820974944592307816406286208998628034......
  • AtCoder Beginner Contest 315
    A-tcdr#include<bits/stdc++.h>usingnamespacestd;int32_tmain(){strings;cin>>s;for(autoi:s){if(i!='a'andi!='e'andi!='i'andi!='o'andi!='u�......
  • AtCoder Beginner Contest 287 - C (图论简单题)
    目录C-PathGraph?C-PathGraph?题意判断给定的无向简单图是不是一条链思路n个顶点m条边的无向图若为一条链,那么边数\(m=n-1\),n个顶点相互可达,任意一个顶点的度不超过2利用并查集判整体连通性,在建图时统计度数,最后判断即可由此,n个顶点,n-1条边的无向连通......
  • AtCoder Beginner Contest 315 - E (toposort)
    目录E-PrerequisitesE-Prerequisites题意n本书,序号1~n。给定阅读每本书之前必须要看的书的序号。请你输出任意一种看第一本书所需看书数量最少的方法思路利用拓扑序列先对书之间的制约关系建图,再利用bfs找到包含书本1的连通块,再对全图进行拓扑排序得到拓扑序列......
  • Atcoder Beginner Contest 315 D~G
    D题意:给定一个\(n\timesm\)的字符矩形,重复执行以下操作直到删除字符数为0:对于每一行,若有且仅有一种字符存在,且个数大于1,将这些字符标记对于每一列,若有且仅有一种字符存在,且个数大于1,将这些字符标记删除所有标记的字符求最后还能剩下多少字符。注意到每一行每一列最多被......
  • AtCoder 题目集2
    AtCoder题目集2终于迈入了一个新的阶段,接下来希望质量能高一点吧。现在我主要刷的是1600左右的题,毕竟实力太拉,只能按照”分上200“的策略。(我觉得类型标个“思维”貌似没啥意义,毕竟AT几乎全是思维啊...)编号(NO.)题目难度类型1ABC201E1694,medium思维,XOR......
  • Atcoder Beginner Contest 315 解题报告
    AtcoderBeginnerContest315ContestlinkHintsD尝试优化暴力。A-tcdr没啥好说的,模拟。代码实现voidSolve(){ while(charch=getchar()) { if(!isalpha(ch))return; if(ch!='a'&&ch!='e'&&ch!='i'&&ch!='o......
  • AtCoder Beginner Contest 315
    A模拟,代码。B模拟,代码。C我们发现美味度最高的食物必选,排序后枚举即可。代码。D模拟。代码。EDFS。代码。F我们发现\(2^C\)增长很快,因此不选的数量最多只有\(\log\)次,直接DP即可。代码。G我们枚举\(i\),那么也就是求出\(Bj+Ck=X-Ai(1\lej\leN,1\lek\l......
  • AtCoder 题目集1
    AtCoder题目集1这是一个AT个人刷题总结的开始,感觉确实应该做一做这种总结,如果只是不断的刷题,感觉貌似也没有什么意思,还不如时常适当的回望一下过去的好题。希望能一直做下去吧。update(22.12.14):AT赛后总结归为另外一栏,此处为过去AT题目的记录。总结了一些比较有趣或者有思......