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

题解:AT_agc033_e [AGC033E] Go around a Circle

不是很困难的观察题。

题意:很简单了,不再赘述。

做法:

首先先直接钦定遍历序列第一个为 \(R\),如果不是就把这个环反色即可,假设我们遍历序列分成了 \(m\) 个连续段,分别为 \(c_1,c_2,\cdots c_m\)

如果一个串全都是 \(R\),那么只要环上没有相邻的 \(B\) 即可,随便 dp 就可以做。

那么我们开始手玩找性质,注意是对于任意的位置都要满足遍历序列而不是存在,我看错题想了半天。

首先我们发现,我们肯定不能有连续的 \(B\),要不然我们从 \(B\) 中间开始直接爆炸了。

其次我们考虑每一个 \(R\) 段,我们可以先把 \(n=3,4\) 的情况画下来,\(n\) 是开头这个段的长度:

我们考虑 \(n=4\),发现一个很严重的问题,当我们从任意一个点开始的时候,如果我们下面有一个 \(B\),我们想出这个连续段的时候,往左往右需要步数的奇偶性是一样的,这样无论你遍历序列开头的连续 \(R\) 段是偶数长还是奇数长,我都能找到一个位置让你直接爆掉,所以每一个 \(R\) 段都得是奇数。

然后从奇偶性上就没什么好分析的了,我们考虑长度限制,我们记 \(R\) 连续段长度为 \(len\)

首先对于开始段,当 \(c_1\) 为奇数的时候,我要求从第一个点往右走一定要能走出去,从左边是出不去的,所以要求 \(len\le c_1\);对于 \(c_1\) 为偶数的时候,要求从第二个点往右走一定要能走出去,所以要求 \(len\le c_1+1\)

对于 \(B\) 连续段,我们直接左右横跳就可以了。

然后考虑后面的 \(R\) 连续段 \(c_x\) 有什么要求,如果是偶数长我们直接反复横跳就行了,因为我们刚从一个 \(B\) 过来。如果是奇数长度,你可以先反复横跳再往前冲过去,但是再怎么样必须要 \(len\le c_x\),要不然冲不过去了。

所以总的限制只有两个,就是要求 \(len\le \min(c_1+c1\bmod 2,\min\limits_{i=2,2\mid c_i}^m c_i)\),且 \(len\) 为奇数。

那么这个东西一看就很 poly,我们令 \(t\) 为后面一长坨的那个限制,那么我们的答案就是,考虑我们现在有 \(k\) 个段,那么我们的贡献就还会乘上一个 \(\frac{n}k\),因为你考虑一种方式他旋转后会有 \(n\) 种,但是你有 \(k\) 种环长划分方式可以分出来,所以是 \(\frac n k\),可以手玩一下感受一下。

那么总的柿子就是 \((x\sum\limits_{i=1,2\nmid i}^t x^i)^k[x^n]\)

解释一下,里面的和式是 \(R\) 连续段的方案,而外面的 \(x\) 是我们直接每个连续段带一个 \(B\) 这么考虑。

我们考虑令 \(d=\frac{t-1}{2}\),那么柿子就可以化为 \((x\frac{1-x^{d+1}}{1-x})^k[x^{\frac{n}{2}}]\),最后乘上我们的贡献得到总和为;

\[n[x^{\frac n 2}]\sum_{k=1}\frac{(x\frac{1-x^{d+1}}{1-x})^k}{k} \]

后面那个东西是 \(\ln(1-x)\) 的泰勒展开,我们还原回去:

\[n[x^{\frac n 2}]\ln(\frac{1}{1 - x\frac{1-x^{d+1}}{1-x} }) \]

然后我们考虑对后面这个柿子求导,原式就等于下面这个式子:

\[2[x^{\frac n 2-1}](\ln(\frac{1}{1 - x\frac{1-x^{d+1}}{1-x} }))^{'} \]

\[2[x^{n/2-1}](\frac{1-(d+2)x^{d+1}+(d+1)x^{d+2}}{1-3x+2x^2+x^{d+2}-x^{d+3}}) \]

直接对着这个式子求就可以了。

http://www.sczhlp.com/news/10239/

相关文章:

  • 【经管文化主题|高录用快检索】第七届经济管理与文化产业国际学术会议
  • 多线程
  • JetBrains CLion 2025.2 (macOS, Linux, Windows) - C 和 C++ 跨平台 IDE
  • 快消巨头杨掌柜:用纷享销客CRM实现渠道数字化升级
  • Omnissa Unified Access Gateway 2506 - 远程安全的应用程序访问
  • Omnissa Horizon 8 2506 (8.16) - 虚拟桌面基础架构 (VDI) 和应用软件
  • 第七届经济管理与文化产业国际学术会议(ICEMCI 2025)
  • cookie,session,localstorage,sessionstorage一次讲清楚
  • Maven jar上传Nexus教程
  • 7.1组合计数
  • 浅学 FHQ
  • DeepCompare文件深度对比软件:智能文本对比与差异统计功能完全指南
  • 单据上采购数量按3个单位分别显示数量
  • 致敬2025年还在写博客的你
  • MyBatis-Plus
  • 概率论的基础
  • 【IEEE出版】第三届电力、电网和储能国际学术会议(PGES 2025)
  • 记录下MySQL的分区表
  • 从 “JSON 字段适配噩梦” 到 “Spring Boot 优雅解决方案”,你只差这一篇
  • 【IEEE出版】第四届电力系统与电力工程国际学术会议(PSPE 2025)
  • 题解:P10299 [CCC 2024 S5] Chocolate Bar Partition
  • 关闭Ollama开机启动项
  • MySQL 根据一个表的字段值,更新另一个表的字段
  • DeepCompare文件深度对比软件:智能同步滚动与对比视图管理功能完全指南
  • 书单
  • 2025 款潘通色卡 PS/AI 插件推荐:解锁高效配色新体验
  • Dubbo源码—1.服务发布的主要流程
  • 剑指offer-20、包含min函数的栈
  • QueryCon 2019:osquery的重大转折点 - 技术治理与社区共建
  • 基于Transformer的百万级文本分类技术