当前位置: 首页 > news >正文

AT_agc040_c Neither AB nor BA

题目大意:

定义一个长度为 \(n\) 的由 \(abc\) 构成的串 \(S\),如果他能通过删相邻两个不为 \(AB\)\(BA\) 的数删空,那么他就是好的。
求长度为 \(n\) 的好的字符串数量,模 \(998244353\)
\(n \le 10^7\)

解题思路:

还是想从这种一步到位的题里面学习一些好东西的。

首先发现 \(C\) 是个非常自由的数字,也就是我们可以将它变成 \(AB\) 中的任意一个。
那么现在就先判断一个纯 \(AB\) 串是否合法。

考虑删除一个长度为 \(2\) 的串意味着什么,因为只能删 \(AA\)\(BB\),所以保证了 \(AB\) 出现次数的奇偶永远不变。
但是这个奇偶只能判断奇数的时候不行,但感觉有点松,往 \(hack\) 上想发现 \(ABAB\) 也不行。

于是换个角度,发现删除连续的两个也会让位置的奇偶不变。
那么套路地将奇数位置异或 \(1\),也就是每次能删两个相邻的不同。

那么这个充要就很简单了,也就是 \(AB\) 中不能有一个是绝对众数。
绝对众数这个东西最多有一个,那么考虑容斥一下就算完了。
\(O(n)\)

http://www.jsqmd.com/news/330513/

相关文章:

  • AI原生应用领域推理能力的实时性优化
  • 新能源锂电池项目欧姆龙 NJ 程序实战分享
  • Go语言并发模式解析:channel与goroutine最佳实践
  • Clawdbot安装教程:从零开始到接入飞书
  • 基于MATLAB与CNN的语音信号分类探索
  • 老年人能力评估系统开发Day8
  • MATLAB代码:考虑电动汽车有序充放电的机组组合和最优潮流 关键词:电动汽车 MILP 最优...
  • GPUHammer:首个针对NVIDIA GPU的Rowhammer攻击专业的技术
  • 配电网故障重构:基于Matlab与Yalmip的二阶锥实现
  • 石蜡加热熔化:COMSOL 多物理场耦合仿真的奇妙之旅
  • 低压无感BLDC方波控制,全部源码,方便调试移植! 1.通用性极高,图片中的电机,一套参数即可...
  • There is an arbitrary file download vulnerability in novel-plus.
  • LeetCode算法学习之杨辉三角 - 详解
  • Modbus RTU S7 - 1200主站485通讯主站程序开发
  • 电动汽车 充电站优化配置 路电网协同 matlab 采用matlab+yalmip进行编程
  • 基于J2EE的校园服装租赁系统的设计与实现 开题报告
  • 基于天鹰优化算法AO优化核极限学习机KELM实现多输入单输出拟合预测建模
  • cst-matlab联合排布 matlab里面建模,运行后cst自动排布 编码的相位计算都有
  • COMSOL模拟分析:21700电池针刺引发的热失控现象
  • 基于Java+Spring Boot框架的网上书 店开题报告
  • 大数据领域数据共享的数据治理框架
  • DevOps实战:基于GitLab CI/CD的自动化部署流水线搭建
  • 兰亭妙微 B 端界面设计:16 年实战案例 + 落地工具清单(含公司真实项目)
  • 黑箱与悬鉴:算法时代的认知革命与治理哲学重构
  • 简单进行一个Markdown练习的运动
  • C#静态类不能实例化为什么还有静态构造函数呢?
  • 2026年苏州GEO优化服务商TOP3深度解析:从技术底层到效果落地的选型指南
  • [网络编程] TCP/IP 模型概览 - 详解
  • 2026年VEGF试剂盒供应商精选,满足多样需求,猪试剂盒/小鼠试剂盒/试剂盒/牛试剂盒,vegf试剂盒厂家排行榜单
  • 【Linux】运维实战笔记 — 我常用的方法与命令