本地打表在线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. springbatch入门练习(第一篇)

    先搞懂几个概念 Job Respository: 作业仓库,负责Job.Step执行过程中的状态保存 Job launcher: 作业调度器,提供执行Job的入口 Job:作业,由多个step组成,封 ...

  2. ansible role 理解

    1.roles意为角色,主要用于封装playbook实现复用性.在ansible中,roles通过文件的组织结构来展现.

  3. 代码段:js表单提交检测

    市面上当然有很多成型的框架,比如jquery的validation插件各种吧.现在工作地,由于前端童鞋也没用这些个插件.根据业务的要求,自己就在代码里写了个简单的表单提交的检测代码(php的也写了一个 ...

  4. CAN总线学习系列之二——CAN总线与RS485的比较

    CAN总线学习系列之二——CAN总线与RS485的比较 上 一节介绍了一下CAN总线的基本知识,那么有人会问,现在的总线格式很多,CAN相对于其他的总线有什么特点啊?这个问题问的好,所以我想与其它总线 ...

  5. 20155306 白皎 0day漏洞——漏洞的复现

    一.Ubuntu16.04 (CVE-2017-16995) 1.漏洞概述 Ubuntu最新版本16.04存在本地提权漏洞,该漏洞存在于Linux内核带有的eBPF bpf(2)系统调用中,当用户提供 ...

  6. Shell基础入门

    目录 Shell基础入门 1.什么是Shell? 2.Shell脚本的结构 3.Shell的变量 3.1.自定义环境变量 3.2.普通变量 3.3.位置参数变量 3.4.状态变量 4.条件测试和比较 ...

  7. DotNetCore部署(IIS)文档

    安装IIS 在控制面板→程序→启用或关闭Windows功能→勾选Internet Information Services以及Web管理工具下的IIS管理控制台 一.安装AspNetCoreModul ...

  8. java maven项目迁移时缺失jar包 或者 maven jar包缺失时的解决方案

    这样弄完,jar包就都下载好了,就不缺失了. 从GitHub上checkout一个项目下来,导入idea后发现加载依赖奇慢无比,所以临时把网络调成FQ的代理,结果会发现idea会停止之前的下载,那怎么 ...

  9. [UOJ#276][清华集训2016]汽水[分数规划+点分治]

    题意 给定一棵 \(n\) 个点的树,给定 \(k\) ,求 \(|\frac{\sum w(路径长度)}{t(路径边数)}-k|\)的最小值. \(n\leq 5\times 10^5,k\leq ...

  10. 【Android UI设计与开发】第03期:引导界面(三)仿微信引导界面以及动画效果

    基于前两篇比较简单的实例做铺垫之后,这一篇我们来实现一个稍微复杂一点的引导界面的效果,当然也只是稍微复杂了一点,对于会的人来说当然还是so easy!正所谓会者不难,难者不会,大概说的就是这个意思了吧 ...