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

Solutions usaco B chn

整个过程只依赖每一位字符的奇偶性,所以我们先把输入统一成二进制串,再把它当二进制数计算。

设输入为长度 \(n\) 的字符串 \(s\),模数 \(M=10^9+7\)。定义

\[\text{temp}= \begin{cases} 0, & \text{若 } s_i\in{0,1}\ \forall i,\ 1, & \text{否则。} \end{cases} \]

构造比特串 \(b\in{0,1}^n\):若 \(\text{temp}=0\),直接令 \(b=s\);否则把每一位数字映射到奇偶:

\[b_i \equiv (s_i-\text{'0'}) \bmod 2. \]

然后去掉前导零:令 \(p\) 为最小下标使 \(b_p=1\)。若不存在这样的 \(p\)(即 \(b\) 全为 \(0\)),答案就是

\[\text{ans}\equiv \text{temp}\pmod M. \]

否则把后缀 \(b_p b_{p+1}\dots b_{n-1}\) 当二进制数。定义

\[B \equiv \sum_{i=p}^{n-1} b_i\cdot 2^{,n-1-i}\pmod M, \qquad B_h \equiv \sum_{i=p}^{n-2} b_i\cdot 2^{,n-2-i}\pmod M. \]

在普通整数意义下,\(B_h=\left\lfloor \frac{B}{2}\right\rfloor\),因为去掉二进制最后一位就是右移一位。关键坑点是:模意义下的除法不代表 floor:

\[\left\lfloor \frac{B}{2}\right\rfloor \not\equiv B\cdot 2^{-1}\pmod M, \]

所以 \(B_h\) 必须直接按“前缀比特”计算(或者在同一遍扫描里顺手维护)。

我们可以一遍从左到右计算 \(B\)\(B_h\):初始化 \(B=0, B_h=0\),对 \(i=p,\dots,n-1\)

\[B \leftarrow (2B + b_i)\bmod M, \]

如果 \(i<n-1\),再做

\[B_h \leftarrow (2B_h + b_i)\bmod M. \]

最终输出

\[\text{ans}\equiv \text{temp}+B+B_h\pmod M. \]

时间复杂度 \(O(\sum n)\)


本题解思路为本人赛时解法,文字部分由 AI 协助整理润色。

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

相关文章:

  • 春季“亚健康”状态如何逆转?2026年6款机能修复产品深度测评:多维营养+系统激活,实现1+12 - 品牌企业推荐师(官方)
  • AI编程 - 规范驱动开发(SDD)学习
  • LeetCode 391 完美矩形 - Swift 题解
  • 减肥总反弹怎么办?2026减脂产品权威实测,教你科学促代谢稳体重 - 品牌企业推荐师(官方)
  • 破局转化瓶颈,深耕价值赋能——数智来客成立AI百科事业部的必要性与核心优势 - 品牌企业推荐师(官方)
  • 二月冷暖拉扯、复工复学密接加码?2026春前免疫系统稳态重建指南 - 品牌企业推荐师(官方)
  • 2026年结婚订婚钻戒怎么选?高性价比钻石品牌权威推荐榜单 - 品牌企业推荐师(官方)
  • 如何利用 ArkUI 框架优化鸿蒙应用的渲染性能
  • 二月冷暖反复、返工返校人群密集,父母免疫力怎么稳住?一文教你2026科学守护家人健康 - 品牌企业推荐师(官方)
  • 结婚订婚选什么钻戒好?2026年高口碑品牌深度推荐名单 - 品牌企业推荐师(官方)
  • 结婚订婚选什么钻戒好?2026高性价比钻石品牌推荐榜单 - 品牌企业推荐师(官方)
  • 二月返工复学健康怎么守?与其等病上门,不如先把“免疫底盘”养稳——2026家庭呼吸道舒适与免疫稳态解决方案评测 - 品牌企业推荐师(官方)
  • Solutions usaco A chn
  • 2026天然成分降尿酸实力解析:溶解结晶+抗炎修复+代谢激活,多维科学数据更稳妥! - 品牌企业推荐师(官方)
  • 高尿酸痛风保健产品选什么好?2026天然方案榜单:首选“结晶溶解+代谢机能提升”,稳步降酸不反弹! - 品牌企业推荐师(官方)
  • 房子
  • 从零入门大模型:小白程序员必备面试指南,平均多拿3个Offer!
  • Google为无代码应用Opal引入智能体工作流功能
  • 创业公司3个月内达到1000万美元年收入的数量创历史新高
  • 【网络安全】从零开始学黑客:内网渗透基础知识全面详解(超详细!)
  • 彻底搞懂SQL注入:从原理到手工注入,再到防御方案
  • 计算机网络(二)
  • 300MW海上风电场的守护者-PROFINET转EtherCAT网关应用案例
  • DeepSeek总结的PostgreSQL 中 DISTINCT 的三种用法
  • 2026全网最细网络安全零基础路线,从小白到能就业,看这一篇就够了
  • C++ - 实现std::list
  • 度测评:2026 最值得用的专业 AI 论文写作软件
  • C++ - 实现std::vector
  • 全网爆火!AI论文写作软件推荐,导师都在悄悄用!
  • 上交团队发布全球首个AI看病系统,小白程序员快速上手大模型:用AI点亮罕见病诊断之光!