首页 > 其他分享 >ARC151C 01 Game

ARC151C 01 Game

时间:2024-01-13 22:55:10浏览次数:35  
标签:01 int len mex Game oplus operatorname SG ARC151C

ARC151C 01 Game

题目链接:ARC151C 01 Game

\(SG\) 函数好题。

思路

考虑把原问题分成多个区间的不同问题,求 \(SG\) 在异或起来。

设:
1.\(SG_1(len)\) 长度为 \(len\),边界没有数字。

2.\(SG_2(len)\) 长度为 \(len\),只有一个边界有数字。

3.\(SG_3(len)\) 长度为 \(len\),两个边界都有相同数字。

4.\(SG_4(len)\) 长度为 \(len\),两个边界都有不同数字。

初始有 \(SG_1(0)=SG_2(0)=SG_4(0)=0,SG_3(0)=1\)。

因为 \(SG_3(0)\) 不存在,所以看做先手胜。

考虑枚举选择的点 \(i\),有:

\[SG_1(len)=\operatorname{mex}_{i=1}^{len}(SG_2(i-1) \oplus SG_2(len-i)) \]

\[SG_2(len)=\operatorname{mex}_{i=1}^{len}\operatorname{mex}(SG_2(i-1) \oplus SG_3(len-i),SG_2(i-1) \oplus SG_4(len-i)) \]

\[SG_3(len)=\operatorname{mex}_{i=1}^{len}\operatorname{mex}(SG_3(i-1)\oplus SG_3(len-i),SG_4(i-1) \oplus SG_4(len-i)) \]

\[SG_4(len)=\operatorname{mex}_{i=1}^{len}\operatorname{mex}(SG_3(i-1)\oplus SG_4(len-i),SG_4(i-1) \oplus SG_3(len-i)) \]

然后我们通过打表发现:

\[SG_1(len)=len\mod 2 \]

\[SG_2(len)=len \]

\[SG_3(len)=1 \]

\[SG_4(len)=0 \]

这个可以也可以通过上述方程归纳证明。

CODE

#include<bits/stdc++.h>
using namespace std;

#define ll long long

const int maxn=2e5+5;

ll n;
ll x[maxn];

int m;
int y[maxn];

int main()
{
    scanf("%lld%d",&n,&m);
    for(int i=1;i<=m;i++) scanf("%lld%d",&x[i],&y[i]);
    x[0]=0,x[m+1]=n+1;
    ll sg=0;
    for(int i=0;i<=m;i++)
    {
        ll len=x[i+1]-x[i]-1;
        if(i==0&&i==m) sg^=(len&1);
        else if(i==0||i==m) sg^=len;
        else if(y[i]==y[i+1]) sg^=1;
    }
    if(sg) printf("Takahashi");
    else printf("Aoki");
}

标签:01,int,len,mex,Game,oplus,operatorname,SG,ARC151C
From: https://www.cnblogs.com/binbinbjl/p/17963160

相关文章

  • [POI2011] INS-Inspection
    分析看到标签里写的dp,想了想可能是换根,但我不会,怎么办呢?考虑什么时候会是\(-1\)。观察样例发现,只有行动中心为\(2\)的时候才不是\(-1\),而\(2\)恰好是树的重心,那么猜想只有重心才不是\(-1\),接下来证明它。如果一个点不是重心,那么说明至少存在其中一个子树\(T'\)大小大......
  • CF1201C - Maximum Median
    思路二分答案。对于一个mid,查询中位数要是为mid的话至少要做多少次操作,最小操作次数就是排序后从中位数开始计算max(0,mid-v[i])的和ac代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;consti64inf=8e18;typedefpair<int,int>pii;cons......
  • P5321 [BJOI2019] 送别 题解--zhengjun
    由于大家的做法需要大量分类讨论和代码量,这里提供一种不怎么分类的,容易实现的做法。首先,由于墙体会随时变化,所以直接对墙体本身维护不是很方便。我们可以牺牲一点常数,对\((i,j)\)建立四个点\(UL_{i,j},UR_{i,j},DL_{i,j},DR_{i,j}\)分别表示\((i-\varepsilon,j-\varepsilo......
  • [GXYCTF2019]BabySQli
    [GXYCTF2019]BabySQli打开是一个登录页面任意输入账号密码提示wronguser输入admin提示wrongpass,说明有admin的账号并且在页面源代码中发现一串经过编码后的字符串经过base32和base64解码后得到SQL语句使用万能密码进行尝试,得到donothackme!的结果根据源码提示,我......
  • NUS CS1101S:SICP JavaScript 描述:四、元语言抽象
    原文:4MetalinguisticAbstraction译者:飞龙协议:CCBY-NC-SA4.0...魔法就在于文字——Abracadabra,开门,以及其他——但一个故事中的魔法词在另一个故事中并不神奇。真正的魔法是理解哪些词起作用,何时起作用,以及为什么起作用;诀窍就是学会这个诀窍。...而这些词是由我们字母表......
  • NUS CS1101S:SICP JavaScript 描述:五、使用寄存器机进行计算
    原文:5ComputingwithRegisterMachines译者:飞龙协议:CCBY-NC-SA4.0我的目标是表明天堂机器不是一种神圣的生命体,而是一种钟表(相信钟表有灵魂属性的人将制造者的荣耀归功于作品),因为几乎所有多种运动都是由一种最简单和物质力量引起的,就像钟表的所有运动都是由单一重力引起......
  • NUS CS1101S:SICP JavaScript 描述:前言、序言和致谢
    前言原文:Foreword译者:飞龙协议:CCBY-NC-SA4.0我有幸在我还是学生的时候见到了了不起的AlanPerlis,并和他交谈了几次。他和我共同深爱和尊重两种非常不同的编程语言:Lisp和APL。跟随他的脚步是一项艰巨的任务,尽管他开辟了一条优秀的道路。尽管如此,我想重新审视他在这本书......
  • NUS CS1101S:SICP JavaScript 描述:三、模块化、对象和状态
    原文:3Modularity,Objects,andState译者:飞龙协议:CCBY-NC-SA4.0变化中安宁(即使它在变化,它仍然保持不变。)——赫拉克利特变化越大,越是相同。——阿方斯·卡尔前面的章节介绍了构成程序的基本元素。我们看到了原始函数和原始数据是如何组合成复合实体的,我们也了解......
  • 01_STM32简介
    STM32简介简介ARMSTM32F103C8T6片上资源/外设命名规则系统结构引脚定义启动配置最小系统电路......
  • P3243 [HNOI2015] 菜肴制作 题解
    前言今天考试考到这道题,挂惨了。题意有\(n\)道菜肴,编号为\(1\simn\)。有\(m\)个条件,形如\((i,j)\),表示菜肴\(i\)必须在菜肴\(j\)之前制作。需求出一个菜肴的制作顺序,满足:在满足所有限制的前提下,\(1\)号菜肴尽量优先制作。在满足所有限制,\(1\)号菜肴尽量优......