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

CF60E Mushroom Gnomes

CF60E Mushroom Gnomes

10月10日的茶

考虑蘑菇在一分钟后有什么变化

\[\begin{align} &S_0 = a_1 + a_2 + a_3 + a_4 ... + a_{n-1} + a_{n} \\ &S_1 = a_1 +(a_1 + a_2) + a_2 + (a_2 + a_3) + a_3 + ... + a_{n-1} + (a_{n-1} + a_{n}) + a_{n}\\ &S_1 = S_0 + a_1 + a_2 + a_2 + a_3 + a_3 + ... + a_{n-1} + a_{n-1} + a_{n} \\ &S_1 = S_0 + 2S_0 - (a_1 + a_n) \\ &S_1 = 3S_0 - (a_1 + a_n) \end{align} \]

\(C = -(a_1 + a_n)\) 可见可用矩阵描述转移

\[\begin{bmatrix} S_1\\ C \end{bmatrix} = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix} \begin{bmatrix} S_0\\ C \end{bmatrix} \]

第二次生长前还要进行一次排序,排序后 \(a_1\) 作为最小值不变,而最大值不再是 \(a_n\)

按照上面的变化,可以看出第一分钟后的最大值是 \(a_{n-1} + a_n\) 第二次是 \((a_{n-1} + a_n) + a_n\) ......

循环往复,变化如同斐波那契数列,同样可以用矩阵描述

\[\begin{bmatrix} a_1\\ b_1 \end{bmatrix} = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix} \begin{bmatrix} a_0\\ b_0 \end{bmatrix} \]

因此,可以用矩阵快速幂计算出第一次变化后的 \(S\)\(C\) 然后据此再用矩阵快速幂求出答案

代码

注意:当 \(n\)\(1\) 的时候,蘑菇不会生长,直接输出 \(a_1\) 并注意取模

http://www.rkmt.cn/news/19190.html

相关文章:

  • LCPC12E - Johnnys Empire 题解
  • 美国能源部《生成式人工智能参考指南》解读
  • win10系统访问smb服务时提示密码错误
  • 《小说课》读书笔记
  • 鸡哥单人防守爽图7.0通关.
  • AtCoder Beginner Contest 427 ABCDEF 题目解析
  • zju博士资格考试考前复习(微分方程方向)ode 部分
  • 测试一下博客功能
  • NOIP 2024
  • ffplay数据结构解析
  • FileX和ThreadX精简版
  • ue4素材场景 - MKT
  • 阅读《构建之法》的思考与问题
  • 2025年9月22日优雅草蜻蜓I通讯水银版4.1.9版本正式发布-完成所有服务升级版本重构升级-修复大量漏洞-优化启动步骤-卓伊凡|bigniu|麻子|贝贝| - 指南
  • count down 84 days - 详解
  • AWS自然语言处理技术实战指南
  • 10.12~10.18随笔
  • 面向对象的题目
  • [HZOI] CSP-S模拟29
  • 二三阶行列式
  • CHAR与VARCHAR深度解析:MySQL字符类型选择指南与性能对比
  • vivo霸榜背后:以技术打赢用户保卫战
  • securityCTF 2025 pwn方向题解
  • 02020507 EF Core高级07-悲观并发控制、乐观并发控制、EF Core连接MySQL、RowVersion
  • 完整教程:游标查询在对话历史场景下的独特优势
  • [论文笔记] A Contemporary Survey of Large Language Model Assisted Program Analysis
  • C语言入门教程 | 第一讲:C语言零基础入门教程:第一个代码到变量运算详解
  • 【AI算力架构设计分析】1000PetaOps 算力云计算系统设计方案(大模型训练推理专项版)
  • 未来计划
  • NOIP2023