CSP 模拟35

A:组合

对于每个点 u向v建边

如果T=1的情况 那么就建双向边

然后去合法的情况一定是把所有边都走了一遍

也就是求图的欧拉路径

特判几种无解的情况就可以了




B:小W的魔术

原串为s1 喜欢的串为s2

假设s1长度len1 s2长度len2

所有方案一定是\(26^len1\)

考虑计算合法的串的种类

那么合法的原串一定满足 s1的前缀是s2的一段前缀 s1的后缀是s2的另外一部分

可以考虑枚举这个前缀的长度

那么首先前缀长度为len2的时候 答案为\(26^(len1-len2)\)

当前缀长度为len2-1时 答案也为\(26^(len1-len2)\)

但是发现会有重复 所以强制此时移走那一位不为原先的字符 那么贡献变成了\(25*26^(len1-len2-1)\)

以此类推 发现除了第一次每一次的贡献其实都是一样的

然后就可以表示出合法串的数量了 冲个快速幂就可以了





C:小Y的图

原题 货车运输

但是考试的时候没想到

总觉得是可持久化并查集预处理之后 二分答案

然后就挂掉了

建最小生成树 然后倍增找答案就好了





小L的数




posted @ 2020-11-23 21:01  HISKrrr  阅读(100)  评论(0编辑  收藏  举报