1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

设当前整数为 xxx,每次操作后要输出 xxx 的二进制中 111 的个数。

如果每次真的去维护大整数,再重新统计二进制里 111 的数量,那么在数据范围 n≤106n \le 10^6n≤106 下显然不合适。 因此这里使用的核心算法是:用二进制的“连续段”来模拟,也就是维护二进制表示的运行长度编码(RLERLERLE)。

核心思路

P4690.第3题-二进制操作与1的个数

    1000ms Tried: 39 Accepted: 5 Difficulty: 7 所属公司 : 阿里
    算法与标签>模拟

题目内容

给定一个初始值为000的整数xxx和一个仅由字符+、−、∗、/+、-、*、/+、−、∗、/ 组成的字符串sss,表示一系列操作。

依次对sss中的每个字符执行以下操作:

若字符为+++,将xxx增加111;若字符为-,将xxx减少111,但保持x≥0x≥0x≥0;

若字符为*,将xxx乘以222;若字符为///,将x除以222并向下取整。每次操作后,输出xxx的二进制表示中1的个数。

输入描述

第一行输入一个整数n(1≤n≤106)n (1 ≤ n ≤ 10^6)n(1≤n≤106),表示操作次数;

第二行输入一个长度为n的字符串sss,仅包含字符+,−,∗,/,+,-,*,/,+,−,∗,/,表示操作序列。

输出描述

输出nnn行,每行输出一个整数,表示对应操作执行后xxx的二进制表示中111的个数。

样例1

输入

7
++-*-//

输出

1
1
1
1
1
0
0

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 87ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?