#P16170. [Ncpc2023]周期性预约Aperiodic Appointments
[Ncpc2023]周期性预约Aperiodic Appointments
题目描述
Nick 一直很难坚持习惯。问题在于,他一旦连续做某件事 次,就会不得不一直做下去。
幸运的是,他开始去看 Patternson 医生。Patternson 医生是 PBT(Pattern Breaking Therapy,打破模式疗法)专家。PBT 的原则很简单:Nick 每天都去看医生;如果在某次就诊时,他已经连续 次做了同一件事,医生就会向他收费。这会激励 Nick 不要继续维持这个习惯。
PBT 对 Nick 很有效,他已经成功戒掉了所有习惯。除了一个:去看 Patternson 医生的习惯。频繁就诊开始影响 Nick 的经济状况,因此你需要计算接下来 天里,他需要向医生付钱多少次。
形式化地,令 为一个只含 0 和 1 的字符串。若 ,表示 Nick 在第 天需要付钱。字符串按如下规则逐字符生成:
- 若 ,则 。
- 若 ,考虑此前已经生成的字符串 。如果存在一个非空字符串 ,使得 的最后 个字符可以写成 (共重复 次),则 ;否则 。
给定 ,请计算字符串 中 1 的个数。

上图表示样例 1。愤怒表情表示 Nick 在对应天数需要付钱。
输入格式
输入一行两个整数 。
输出格式
输出一个整数,表示字符串 中 1 的个数。
输入输出样例 #1
输入 #1
7 2
输出 #1
3
输入输出样例 #2
输入 #2
99 5
输出 #2
19