P6791 [SNOI2020] 取石子 题解 / 齐肯多夫定理学习笔记

· · 题解

:::::info[题目基本信息] 考察:数学,博弈论,数位 DP(NOI/NOI+/CTSC)。
题目简介:

- $\forall i\ge 1,(1,i)$ 不合法。 - $\forall n>1,\exist i\in[1,\min(n-1,k)],(n-i,2i)$ 不合法则 $(n,k)$ 合法,否则不合法。 求有多少正整数 $n\le N$,满足 $(n,K)$ 合法。 数据范围: - $1\le T\le 10^5

时间限制:1s。
空间限制:180MB。
::::: 齐肯多夫定理相关博弈板子题,引入齐肯多夫定理:
:::::success[齐肯多夫定理讲解] 齐肯多夫定理:\forall n\in\mathbb Z_+,\exist k\in\mathbb Z_+,\exist\{id_k\} 满足:

::::success[证明] 考虑数学归纳法:
\exist p\in\mathbb Z_+,f_p=n,则显然成立。
否则,设 f_p<n<f_{p+1},递归 n-f_p 的子问题,容易发现 f_{p-1}>n-f_p,所以不会取到相邻的斐波那契数,同时由于数一直在不断减小,所以最终一定能转化成第 1 种情况。
:::: ::::: 对于本题,容易发现先手全取完一定能赢,所以我们不妨钦定先手不能先取完。
n 分类讨论:

code