Atcoder Beginner Contest 242

C - 1111gal password

一开始以为有什么数学规律 然后我发现样例那个2 25我就推不出来(太笨了)

于是就直接递推了 这个空间浪费了很多

其实只要开两个 vector<int>(10)就够了..

D - ABC Transform

给定一个初始的字符串s 由’A’, ‘B’, ‘C’构成

给定q个询问 每个询问有一个t, k ($t\in [0, 10^{18}],k \in [1,10^{18}]$)

问的是t次变换后 从初始的$S^0$即$S$ 变换到$S^t$之后 第k位字符是什么

变换规则

A->BC B->CA C->AB

设f(t, k)是对应的字母

这里我们从0开始下标计数

t=0的时 答案就是s[k]了

k=0时 $S^t$的第0位是$S^0$的第一位经过了t次变换后得到的字母

当$t, k > 0$时 f(t, k) 是 f(t-1, k/2)对应的变换字母 如果k是偶数 那么变换为第一个字母 如果是奇数 变换为第二个字母