一个小 Trick
平方变两次
一个状态 有一个贡献,所有状态 组成集合 .
然后我们要统计下面这个东西
然后我们就可以看作是选两个 里的 ,然后 的方案数 .
这样就把一个带平方的贡献问题转化成一个简单的选择了 .
让我们看一个实例:
两个字符串 .
整一个仅含 的序列 ,用以下步骤生成一个字符串 :
- 扫描序列 .
- 目前扫到了 :
- 如果 是 ,从 的末尾拿一个字符放到 的开头,然后把 末尾那个字符删了 .
- 如果 是 ,从 的末尾拿一个字符放到 的开头,然后把 末尾那个字符删了 .
然后最后 都删没了得到的 就是生成出来的字符串 .
所有只有 个 , 个 的序列是合法的 .
令 为序列 能被多少给合法序列生成 .
求
对 取模 .
.
题解:
平方变两次,于是变成生成两次生成了相同的串的方案数 .
直接大力普及组 DP,令 表示第一次 取 个, 取 个;第一次 取 个, 取 个的答案 .
然后轻松转移把 .
显然 ,于是可以滚掉一维度 .
于是这道题就被 解决了 .
一些类似的题目:
- BJOI2017 机动训练
- UOJ #667 提问系统(需要把原 Trick 推广到单项式)
- AGC013E Placing Squares
以下是博客签名,正文无关
本文来自博客园,作者:yspm,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/16244106.html
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人