本地打表在线AC什么的最喜欢了。

题意

\(\rm Alice\)和\(\rm Bob\)在玩游戏,他们要给一个\(n\times n\)的矩阵打标记。初始时没有任何标记,每一轮\(\rm Bob\)先手,两个人可以选一个格子打上自己的标记(\(\rm Alice \to A,Bob\to B\)),但如果选择了已经打过标记的格子就输掉游戏。

如果在某个时刻,存在一个长度为\(n\)的排列\(p\)使得对于\(i=1,2,\dots,n\),有第\(i\)行第\(p_i\)列的标记为\(\rm A\)成立,那么\(\rm Alice\)获胜。

如果在\(\lfloor\frac{n^2}{2}\rfloor\)轮后,\(\rm Alice\)依然没有获胜,那么\(\rm Bob\)获胜。

给定\(T\)组询问,每次给定一个数\(n\),问在之前的游戏规则下:

\(1\)、双方记得之前的所有操作,\(\rm Alice\)是否有必胜策略。

\(2\)、\(\rm Alice\)只记得当前这一轮\(\rm Bob\)的操作,\(\rm Bob\)记得所有操作,\(\rm Alice\)是否有必胜策略。

\(T\leq 100,n\leq 10^{18}\)。

题解

这种题目就应该大力猜结论。

先考虑比较简单的第一问,在\(n\)比较大的平凡情况下,假设\(\rm Bob\)标记了第\(x\)行的某个格子,那么\(\rm Alice\)就可以选择第\(x\)行的另一个格子(记为第\(y\)列)。之后,\(\rm Alice\)选择第\(y\)列上的格子一定是不优的,因此对\(\rm Alice\)来说,她可以将棋盘重新看作\((n-1)\times (n-1)\)大小的。只要在\((n-1)\times (n-1)\)时有必胜策略,那么\(n\times n\)时就一定有必胜策略。

那么暴搜最小的有必胜策略的\(n\),可以本地发现\(n=4\)时有必胜策略,因此第一问的答案就是\([n\geq 4]\)。

对于第二问,显然必胜策略应该避免选择已经标记过的格子。可以发现唯一的方法就是使棋盘上的格子两两匹配,对于每一个匹配,假如\(\rm Bob\)选择了其中一个,那么\(\rm Alice\)就立即选择另一个。

首先\(n\)为奇数的时候显然无解,考虑怎么在\(n\)为偶数的时候构造一种匹配方案,使得对于每一个匹配无论选择哪一个,总存在一个排列满足对应的位置都标记了\(\rm A\)。

先本地暴搜\(n\)小的情况(当然要加一点剪枝),可以发现\(n=4\)和\(n=6\)都是有解的。

那么对于更大的\(n\),只要在对角线上依次放上\(n=4\)或\(n=6\)的,剩下的位置随便匹配即可。

比如下面就是\(n=10\)的构造方法,蓝色部分随意匹配即可。

于是第二问的答案就是\([n\geq 4,n\equiv 0(\bmod 2)]\)。

#include<cstdio>
#define int long long
signed main()
{
int T,n;
scanf("%lld",&T);
while(T--)
{
scanf("%lld",&n);
puts(n>=4?"Yes":"No");
puts(n>=4&&!(n&1)?"Yes":"No");
}
return 0;
}

LOJ#551 Matrix的更多相关文章

  1. soj#551 loj#2833 帐篷

    传送门 分析 dp[i][j]表示考虑了i行j列的方案数 我们每次考虑三种情况: 一个点自己放 两个点在同一行 两个点在同一列 代码 #include<bits/stdc++.h> usi ...

  2. Loj 3058. 「HNOI2019」白兔之舞

    Loj 3058. 「HNOI2019」白兔之舞 题目描述 有一张顶点数为 \((L+1)\times n\) 的有向图.这张图的每个顶点由一个二元组 \((u,v)\) 表示 \((0\le u\l ...

  3. Loj #6069. 「2017 山东一轮集训 Day4」塔

    Loj #6069. 「2017 山东一轮集训 Day4」塔 题目描述 现在有一条 $ [1, l] $ 的数轴,要在上面造 $ n $ 座塔,每座塔的坐标要两两不同,且为整点. 塔有编号,且每座塔都 ...

  4. Loj#6183. 看无可看

    Loj#6183. 看无可看 题目描述 首先用特征根求出通项公式\(A_n=p\cdot 3^n+q\cdot(-1)^n\).通过给定的\(f_0,f_1\)可以解出\(p,q\). 然后我们要求的 ...

  5. Codeforces 551 D. GukiZ and Binary Operations

    \(>Codeforces \space 551 D. GukiZ and Binary Operations<\) 题目大意 :给出 \(n, \ k\) 求有多少个长度为 \(n\) ...

  6. loj#2269. 「SDOI2017」切树游戏

    还是loj的机子快啊... 普通的DP不难想到,设F[i][zt]为带上根玩出zt的方案数,G[i][zt]为子树中的方案数,后面是可以用FWT优化的 主要是复习了下动态DP #include< ...

  7. Loj #3044. 「ZJOI2019」Minimax 搜索

    Loj #3044. 「ZJOI2019」Minimax 搜索 题目描述 九条可怜是一个喜欢玩游戏的女孩子.为了增强自己的游戏水平,她想要用理论的武器武装自己.这道题和著名的 Minimax 搜索有关 ...

  8. 【LOJ】#3098. 「SNOI2019」纸牌

    LOJ#3098. 「SNOI2019」纸牌 显然选三个以上的连续牌可以把他们拆分成三个三张相等的 于是可以压\((j,k)\)为有\(j\)个连续两个的,有\(k\)个连续一个的 如果当前有\(i\ ...

  9. 【LOJ】#3090. 「BJOI2019」勘破神机

    LOJ#3090. 「BJOI2019」勘破神机 为了这题我去学习了一下BM算法.. 很容易发现这2的地方是\(F_{1} = 1,F_{2} = 2\)的斐波那契数列 3的地方是\(G_{1} = ...

随机推荐

  1. 解决:linux 固定ip 导致ping 外网unknown host

    首先说下问题产生场景:最近搞jenkins搭建持续集成,搞完后发现服务器ip(ifconfig 红色)老是变化,一怒之下果断修改ip [root@bogon etc]# ifconfigeth0 Li ...

  2. Android 在ScrollView中嵌入ViewPage后ViewPage不能很好的工作的问题解决

    解决办法:重写ScrollView,如下代码所示: public class MyScrollView extends ScrollView{ private GestureDetector mGes ...

  3. Web.config中 mode="RemoteOnly" 跟mode="On" 区别

    转载网址:mode="RemoteOnly" 跟mode="On" 区别 <!-- 自定义错误信息 设置 customErrors mode=" ...

  4. WPF编程,使用WindowChrome实现自定义窗口功能的一种方法。

    原文:WPF编程,使用WindowChrome实现自定义窗口功能的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/arti ...

  5. Android开发——官方推荐使用DialogFragment替换AlertDialog

    )比如当屏幕旋转时,AlertDialog会消失,更不会保存如EditText上的文字,如果处理不当很可能引发异常,因为Activity销毁前不允许对话框未关闭.而DialogFragment对话框会 ...

  6. EZ 2018 03 30 NOIP2018 模拟赛(六)

    链接:http://211.140.156.254:2333/contest/67 转眼间上次加回来的Rating又掉完了. 这次不知为何特别水,T1想了一段时间没想出来弃了,导致后面心态炸了. T2 ...

  7. EZ 2017 12 17初二初三第一次膜你赛

    以后平时练习还是写一写吧. (题目搞来搞去太烦了,直接PDF存起来) T1 水题(???),主要是数据水,正解是设一个阙值,然而根本没人打.(暴力出奇迹) CODE #include<cstdi ...

  8. spring cloud资料汇总

    https://www.cnblogs.com/Java3y/p/9540386.html#commentform --非常好的文章,里面还有海量学习资料

  9. asp.net web api参数

    翻译自:http://www.c-sharpcorner.com/article/parameter-binding-in-asp-net-web-api/ 主要自己学习下,说是翻译,主要是把文章的意 ...

  10. 通过C#的HttpClient模拟form表单请求

    post提交表单一般无非是一般text文本和文件类型,如下 <input type="file"/> <input type="text"/& ...