首页 > 其他分享 >AT_arc170_d Triangle Card Game

AT_arc170_d Triangle Card Game

时间:2024-01-22 20:02:17浏览次数:27  
标签:Triangle int arc170 Alice Game MAXN && 等于 Bob

当 Alice 先出了一张牌 \(A\),Bob 又出了一张 \(B\),分类讨论一下。

当 \(B\leq A\),如果 Alice 不再出一张 \((A-B,A+B)\) 中的牌 Bob 就赢了,所以这种情况 Bob 会出最小的牌。

当 \(B>A\),如果 Alice 不再出一张 \((B-A,B+A)\) 中的牌 Bob 就赢了,这时无法贪心,对每个 \(B_i\) 考虑,找到 \(B_i\) 在 \(A\) 中第一个小于等于和第一个大于等于它的,取差值小的一个,则所有小于等于这个差值的 \(A_j\) 都可以被这个 \(B_i\) 卡掉。

但是还不完全,因为忘记了一条限制是不能重复出一张牌两次,所以当 \(A_j\) 等于这个第一个小于等于或第一个大于等于 \(B_i\) 的话,还可以在拓展一下,这种情况只能单独限制这一张牌。

当一个 \(A_j\) 不可以被任何一个 \(B_i\) 限制的时候 Alice 赢,否则 Bob 赢。

#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
const int MAXN=2e5+10;
int T,n,a[MAXN],b[MAXN],C[MAXN];
inline void work()
{
    cin>>n;int cur=0;
    for(int i=1;i<=n;++i) cin>>a[i];
    for(int i=1;i<=n;++i) cin>>b[i];
    for(int i=1;i<=n;++i) C[i]=0;
    sort(a+1,a+1+n),sort(b+1,b+1+n);
    for(int i=1;i<=n;++i)
    {
        int now1=2e9,now2=2e9;
        int c=upper_bound(a+1,a+1+n,b[i])-a-1;
        int d=lower_bound(a+1,a+1+n,b[i])-a;
        if(c>=1&&c<=n) now1=b[i]-a[c];
        if(d>=1&&d<=n) now2=a[d]-b[i];
        if(c>=1&&c<=n)
        {
            if(c-1>=1&&c-1<=n)
                C[c]=max(C[c],min(b[i]-a[c-1],now2));
            else C[c]=max(C[c],now2);
        }
        if(d>=1&&d<=n)
        {
            if(d+1>=1&&d+1<=n)
                C[d]=max(C[d],min(a[d+1]-b[i],now1));
            else C[d]=max(C[d],now1);
        }
        cur=max(cur,min(now1,now2));
    }
    for(int i=1;i<=n;++i)
    {
        bool flag=true;if(a[i]<=cur||a[i]<=C[i]) continue;
        if(b[1]<=a[i])
        {
            int k=upper_bound(a+1,a+1+n,a[i]-b[1])-a;
            if(k==i) ++k;if(k>n||a[k]>=a[i]+b[1]) flag=false;
        }
        if(flag){cout<<"Alice\n";return ;}
    }
    cout<<"Bob\n";return ;
}
int main()
{
    cin.tie(0),cout.tie(0);
    ios::sync_with_stdio(0);
    cin>>T;while(T--) work();
    return 0;
}

标签:Triangle,int,arc170,Alice,Game,MAXN,&&,等于,Bob
From: https://www.cnblogs.com/int-R/p/17980853/AT_arc170_d

相关文章

  • AtCoder Regular Contest 170 D Triangle Card Game
    洛谷传送门AtCoder传送门赛后调了40min,哈哈。首先先把\(a,b\)排序。考虑先枚举Alice选的数\(a_i\),然后若\(\forallj,\existsk\nei,(a_i,b_j,a_k)\)能组成三角形,Alice就赢了。考虑简化条件。\((x,y,z)\)能形成三角形的充要条件是\(z\in(|x-y|,x+......
  • CF1895E Infinite Card Game 题解
    Solution根据贪心策略,可以发现出完一张牌后对手的出牌是固定的。同理可以算出Monocarp出完一张牌\(a\)后下一次出的牌\(to_a\)。\(a\)和\(to_a\)胜负状态相同。可以发现对所有\(a\)建\(a\toto_a\)后形成的图是内向基环树,一遍dfs即可求出答案。时间复杂度\(\m......
  • [AGC048D] Pocky Game 题解
    题目链接点击打开链接题目解法好难的题,想不出来一点!!!首先给出一个第一个结论:最优策略下,每个人每次只会取一个石子或者取完一堆石子题解区都没有严谨证明,\(at\)的\(editorial\)也没证,所以我只能感性理解:下面以先手为例。如果最左边的石子数\(>\)其余所有堆的石子数,那么先......
  • 13 Jellyfish and Game
    JellyfishandGame因为n,m很小,所有直接暴力就行#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;voidsolve(){ intn,m,k; cin>>n>>m>>k; vector<int>a(n+1); vector<int>b(m+1); for(inti=1;i<=n;i++)cin>......
  • otterctf内存取证-----4 - Name Game
    otterctf内存取证-----4-NameGame看到这题目,看看是不是浏览器登录,无果。这里似乎没有跟题干相关的答案。游戏登录了,登录进程里是不是包含账户信息,把进程dump下来看看。频道后面是不是账户名字,果然猜对了,上面都是假想自己做出来的,感觉蛮有意思的,所以记录下来,进程里居然也能藏历......
  • 使用 Python 和 Pygame 制作游戏:第六章到第八章
    第六章:贪吃虫原文:inventwithpython.com/pygame/chapter6.html译者:飞龙协议:CCBY-NC-SA4.0    如何玩贪吃虫贪吃虫是Nibbles的克隆。玩家开始控制一个不断在屏幕上移动的短蠕虫。玩家无法停止或减慢蠕虫,但他们可以控制它转向的方向。红苹果随机出现在屏幕上,玩家必......
  • 使用 Python 和 Pygame 制作游戏:第九章到第十章
    第九章:推星星原文:inventwithpython.com/pygame/chapter9.html译者:飞龙协议:CCBY-NC-SA4.0         如何玩推星星推星星是Sokoban或“箱子推动者”的克隆。玩家位于一个房间,里面有几颗星星。房间中的一些瓷砖精灵上有星星标记。玩家必须想办法将星星推到有星......
  • ARC151C 01 Game
    ARC151C01Game题目链接:ARC151C01Game\(SG\)函数好题。思路考虑把原问题分成多个区间的不同问题,求\(SG\)在异或起来。设:1.\(SG_1(len)\)长度为\(len\),边界没有数字。2.\(SG_2(len)\)长度为\(len\),只有一个边界有数字。3.\(SG_3(len)\)长度为\(len\),两个边界都......
  • 【五期李伟平】CCF-A(AAAI'21)Game of Gradients: Mitigating Irrelevant Clients in Fe
    Nagalapatti,Lokesh,andR.Narayanam."GameofGradients:MitigatingIrrelevantClientsinFederatedLearning."(2021).  针对联邦学习中相关客户端选择(FRCS)的问题,本文提出一种可以选择具有相关数据的客户端的方法,并提出一个检测拥有特定目标标签数据的客户端......
  • 【五期李伟平】CCF-A(MobiCom'18 Session EdgeTech'18)A Game-Theoretic Approach to Mu
    Zafari,Faheem,etal."AGame-TheoreticApproachtoMulti-ObjectiveResourceSharingandAllocationinMobileEdgeClouds."(2018).  为了缓解移动边缘计算中资源稀缺问题,本文建议在多个边缘计算服务提供商之间共享资源,并将资源分配和共享问题建模为多目标优化......