题目链接:C. DNA Alignment
题目大意就不写了,因为叙述会比较麻烦..还是直接看英文题面吧。
题目分析
经过观察与思考,可以发现,构造的串 T 的每一个字符都与给定串 S 的每一个字符匹配了 L 次,那么
令 S 中 A,C,G,T 的数量分别为 A1, B1, C1, D1, T 中 A,C,G,T 的数量分别为 A2, B2, C2, D2。
p(S, T) = L * (A1A2 + B1B2 + C1C2 + D1D2)
也就是说,T中的一个字符A,可以对p(S, T)产生 L * A1 的贡献,其他字符同理。
那么p(S, T) 只与 T 中四种字符的数量有关,与它们的顺序无关。
我们只要将 T 中的每一个位置都填上在 S 中出现次数最多的字符就可以了。
设 S 中有 a 种字符出现次数最多。
那么最终答案就是 a^L 。
代码也就不需要了,因为代码非常简单..连快速幂都不需要。