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

题目 3330: 蓝桥杯2025年第十六届省赛真题-01 串

题目 3330: 蓝桥杯2025年第十六届省赛真题-01 串
时间限制: 2s 内存限制: 192MB 提交: 310 解决: 24
题目描述
给定一个由 0, 1, 2, 3 · · · 的二进制表示拼接而成的长度无限的 01 串。

其前若干位形如 011011100101110111 · · · 。 

请求出这个串的前 x 位里有多少个 1 。

输入格式
输入的第一行包含一个正整数 x 。

输出格式
输出一行包含一个整数表示答案。

样例输入复制
7
样例输出复制
5
提示
【样例说明】 

给定的串的前 7 位为 0110111 。 

【评测用例规模与约定】 

对于 60% 的评测用例,x ≤ 106 ; 

对于所有评测用例,1 ≤ x ≤ 1018 。

1.分析

        1个测试点没过,记录一下这种算法。

        如果你们能该全过,求告诉!

2.代码

#include<iostream>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
typedef long long LL;
LL x, re, t=1;
void check(LL i) {vector<int> v;while (i) {v.push_back(i % 2);i /= 2;}for (int i = v.size() - 1; i >= 0&&x>0; i--,x--) {if (v[i] == 1) re++;}
}
int main() {cin >> x;x--;while (x >= t * pow(2, t - 1)) {re += (t - 1) * pow(2, t - 2) + pow(2, t - 1);x -= t * pow(2, t - 1);t++;}for ( LL i = pow(2, t - 1); x>0; i++) {check(i);}cout << re << endl;return 0;
}

http://www.xdnf.cn/news/604999.html

相关文章:

  • Spring循环依赖相关问题
  • C++(初阶)(十九)——红黑树
  • LLM多轮对话效果优化之道
  • 每日c/c++题 备战蓝桥杯(修理牛棚 Barn Repair)
  • 【信息系统项目管理师】第19章:配置与变更管理 - 38个经典题目及详解
  • 【Ubuntu】如何在一个脚本文件中跑三个python文件?以及端口被占的解决方法
  • 如何最简单、通俗地理解什么是NLP?
  • el-table控制type=“expand“展开列 根据条件显示或隐藏展开按钮
  • 【萤火工场GD32VW553-IOT开发板】流水灯
  • Git子模块原理与实战详解
  • 【MATLAB代码】扩展卡尔曼滤波估计pmsm的位置误差
  • #6 百日计划第六天 java全栈学习
  • 编译原理 期末速成
  • 从零开始:Python语言进阶之继承
  • window 显示驱动开发-视频内存供应和回收(二)
  • 计算机语言&计算机安全知识
  • 十、Linux 网络服务基础
  • NLweb本地部署指南
  • EasyRTC音视频实时通话WebP2P技术赋能的全场景实时通信解决方案
  • 数据分析概述and环境配置
  • 照片时光机APP:修复老照片,重现往昔美好
  • Windows逆向工程提升之IMAGE_EXPORT_DIRECTORY
  • Git和Gitcode交互教程
  • 85. Java Record 深入解析:构造函数、访问器、序列化与实际应用
  • 关于千兆网络变压器的详细介绍
  • 【Flutter】多语言适配-波斯语RTL从右到左
  • 基于 Vue3 与 exceljs 实现自定义导出 Excel 模板
  • 如何在Mac 上使用Python Matplotlib
  • Redis 详解
  • G1人形机器人软硬件组成