2024.10.24 test

B

可以将一列的算式看成 uv 的一条边,其中 u 表示其所需要的进位,v 表示其进位。
那么不难发现我们要求的是 0,1,2 三个点,00 的欧拉回路个数,其中最后一条边满足都不是 0
考虑 best 定理,其中求生成树个数可以直接枚举树的形态,设生成树个数为 T0
考虑把最后一条边改为第一条边,将图反向即可,设第一条边能走的个数为 s
设出度为 odi,最后答案就是是 T0×s×(od01)!×(od11)!×(od21)!

C

定义长度为 n 的字符串是合法的,当且仅当存在一个长度为 n 的合法括号序,满足匹配括号对应字符串中的字符相同。现在有一个长度为 n 的字符集为 {a,b,c} 的字符串 s,问有多少种交换两个不同位置上不同字符的方法,使得得到的字符串是一个合法的字符串。n105

这个题牛。考虑给 a,b,c 随机给一个 2×2 矩阵,利用矩阵乘法的结合律处理括号匹配。
我们把作为左括号出现的赋 a,b,c,右括号的赋 a1,b1,c1,那么合法的情况就是顺序乘出来为 I
考虑交换两个字符所带来的影响,交换 l,r 无非就是将 [l+1,r1]1 变为 11 变为 1
所以预处理一些东西即可。

posted @   s1monG  阅读(12)  评论(0)    收藏  举报
相关博文:
阅读排行:
· 聊聊 ruoyi-vue ,ruoyi-vue-plus ,ruoyi-vue-pro 谁才是真正的
· C#开发的Panel滚动分页控件 - 开源研究系列文章
· 如何反向绘制出 .NET程序 异步方法调用栈
· ShadowSql之开源不易
· Python 3.14 新特性盘点,更新了些什么?
点击右上角即可分享
微信分享提示