主题
周期与植树问题
概述
周期问题和植树问题看上去完全不像一类题,但它们都在处理同一件事:
一个是“重复到第几位”,一个是“间隔对应几个点”。
这两类题最怕机械套公式。
只要先想清楚下面两个问题,题目就会立刻变简单:
- 题目是在问“第几个位置”还是“相差了多少步”?
- 题目是在数“点”还是在数“段”?
一、周期问题
1. 周期问题的本质
如果某种现象每隔 T 个单位重复一次,那么前 T 个位置确定以后,后面的所有位置都只是不断重复前面的顺序。
所以,周期题本质上就是:
把一个很大的序号,压缩回一个周期里去看它落在哪一格。
这就是为什么周期题一定和“除法取余”有关。
2. 核心公式
设周期长度为 T,要求第 n 个位置对应什么,那么:
符号含义:
:题目中的数量、项数、次数或样本量,具体含义见公式前文字。 :总量、周期或时间参数,具体含义见公式前文字。
这个公式特别重要,原因是题目中的“第 1 个”应该对应周期中的“第 1 位”,而不是“余数 1”乱套上去。
如果题目已经给了一个起点,比如“已知某月 1 日是星期二,问 30 日是星期几”,那真正变化的是:
也就是说,不是拿目标数直接除周期,而是拿“目标和起点之间差了多少步”去除周期。
3. 周期题的常见模型
模型 1:星期与日期
- 星期的周期是
7 - 从某一天推到另一天,要看相差天数
- 相差多少天,就往后推多少位
模型 2:轮班与排班
例如甲乙丙丁 4 人轮流值班,第 37 天是谁值班,本质上就是周期为 4 的取余问题。
模型 3:图形、颜色、字母循环
比如红黄蓝红黄蓝……,要求第 100 个颜色是什么,也是完全一样的思路。
4. 经典真题
真题1:某月 1 日是星期二,那么该月 30 日是星期几?
解析
5. 余数为 0 怎么办
周期题还有一个常见坑:
如果余数是 0,并不表示“没有位置”,而表示它刚好落在这个周期的最后一位。
例如 5 人轮流值班,问第 20 天是谁值班:
余数是 0,说明第 20 天不是“第 0 位”,而是周期中的第 5 位。
真题2:甲、乙、丙、丁四人按顺序轮流值班。若第 1 天是甲值班,则第 40 天是谁值班?
