ZR普转提2

A

谢谢刁神教我A题

刚开始读错题了,以为是一个不可做的数位DP,然后就暴力滚粗

直到问了问刁神,发现自己题意是错的

然后成了比较简单的题目

直接暴力枚举每一位填什么,剩下的位数的数字都要相同

枚举完之后暴力check,除以去掉点缀0的不合法情况,以及

1e16有17位数字

代码就不放了

B

果然听别人的思路再考一遍还是不会

有点类似于AB班的那一道括号匹配的题目

我们想\(A,B,C\)出现的次数相同

也就是把相同的一段扣去

A,B,C出现次数的差是不变的

这就启示我们去维护\(A-B,B-C\)的值

如果当前\(A-B,B-C\)与前面的一个相同,那么

这两个之间的串是合法的

我们就开一个map维护一下即可

C

首先,要知道一个性质,被\(11\)整除的数的奇数位之和减去偶数位之和是\(11\)的倍数

我们接着发现,不可能存在两个\(0\)相邻的情况

因为
\[ \because 99x \equiv 0 \pmod{11}\\ \therefore 100x - x \equiv 0 \pmod{11}\\ \therefore x\equiv 100x \pmod{11} \]
所以发现,在模100的意义下,\(x\)和100\(x\)没有区别,所以不可能存在两个\(0\)相邻

我们就设\(f_{i,j,k}\)表示前\(i\)个数,选了\(j\)个数当奇数,奇数减去偶数在模意义下的差为\(x\)能否可行

转移就转移到

\(f_{i + 1,j,(k - a_{i + 1} + 11 ) \% 11}\)\(f_{i + 1,j,(k + a_{i + 1}) \% 11}\)即可

D

一道贪心题

首先能够发现,魔法肯定是先用比较优

想一下

当怪的数量大于二时一定使用AOE比较赚,因为你虽然可能使用重击然后少吃一点伤害,但是会导致多大一轮,多打一轮的代价至少是1,所以不赚

如果只剩\(2\)个怪就使用重击

如果\(1\)滴血就AOE

然后统计剩下的贡献就好了