CF819A Mister B and Boring Game

题目描述

有时 Mister B 晚上有空,不知道做些什么。幸运的是,Mister B 找到了一款新游戏,玩家可以与外星人对战。 这个游戏中的所有角色都是小写英文字母。游戏有两位玩家:Mister B 和他的对手。 最初,两位玩家手里有一个字符串 $s$,由前 $a$ 个英文字母按照字母表顺序组成(例如,如果 $a=5$,则 $s$ 为 "abcde")。 两位玩家轮流向字符串 $s$ 追加字母,每次追加一段字符。Mister B 先手。 Mister B 每次必须追加恰好 $b$ 个字母,他可以自由选择这 $b$ 个字母。接着,对手每次追加恰好 $a$ 个字母。 Mister B 很快就发现对手只是台计算机,并且在每一步都使用了一个固定的算法:对手会查看当前字符串 $s$ 的后缀,长度为 $a$,从中选出一个长度为 $a$ 的字符串 $t$,$t$ 中所有字母都不重复,且都不在该后缀中。从多个可能的 $t$ 中,计算机会选择按字典序最小的(例如,如果 $a=4$,后缀是 "bfdd",那么计算机会选出 $t="aceg"$)。然后,将 $t$ 添加到 $s$ 的末尾。 Mister B 很快觉得这游戏没意思了,于是产生了这样一个问题:在字符串 $s$ 的第 $l$ 到第 $r$ 个位置(下标从 1 开始,包括两端)之间,最少会有多少种不同的字母?

输入格式

输入仅一行,包含四个用空格分隔的整数:$a$、$b$、$l$ 和 $r$($1\le a, b \le 12$,$1\le l \le r \le 10^9$),分别表示每位玩家的追加字母数量以及所查询的区间的起止位置。

输出格式

输出一个整数,表示在字符串 $s$ 的 $l$ 到 $r$ 位置(包含两端)之间,可能存在的最少不同字母个数。

说明/提示

在第一个样例中,一种最优策略可以生成字符串 $s=$ "abababab...",因此答案是 $2$。 在第二个样例中,字符串 $s=$ "abcdbcaefg..." 可以被构造出来,所选区间片段类似于 "bcdbc",因此答案是 $3$。 在第三个样例中,字符串 $s=$ "abczzzacad..." 可以被构造出来,选择的区间片段类似于 "zzz",因此答案是 $1$。 由 ChatGPT 5 翻译