洛谷 B2123 字符串 p 型编码

P3955 [NOIP2017 普及组] 图书管理员C++题解 P3955 [NOIP2017 普及组] 图书管理员 阅读详情

字符串 p 型编码

题目描述

给定一个完全由数字字符(‘0’,‘1’,‘2’,…,‘9’)构成的字符串 str ,请写出 str 的 p 型编码串。例如:字符串 122344111 可被描述为 1个1、2个2、1个3、2个4、3个1 ,因此我们说122344111 的 p 型编码串为 1122132431 ;类似的道理,编码串 101 可以用来描述 1111111111 ;00000000000 可描述为 11个0,因此它的p型编码串即为 110 ;100200300 可描述为 1个1、2个 0、1个2、2个0、1个3、2个0,因此它的 p 型编码串为 112012201320。

输入格式

输入仅一行,包含字符串 str。每一行字符串最多包含 1000 1000 1000 个数字字符。

输出格式

输出该字符串对应的 p p p 型编码串。

样例 #1

样例输入 #1

122344111

样例输出 #1

1122132431

做题背景

今天加训太辛苦,奖励自己一次。 奖励自己一个入门题。

原题

洛谷B2123——传送门

思路&代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main()
{
    string s;
    cin >> s;

    int cnt = 0;
    char c;

    s = 'y' + s; // 加入一个无关字符,便于遍历
    for (int i = 1; i < s.size(); i++)
    {
        if (s[i] != s[i - 1]) // 每次遇到不相等时,说明这是一个新字符
        {
            if (i != 1) // 如果i不等于1,则先前存在旧字符,需要输出它的信息:即字符个数和字符本身
            {
                cout << cnt << c;
            }
            c = s[i]; // 记录该字符
            cnt = 1;  // 当前该字符个数为1
        }
        else
        {
            cnt++; // 有重复,该字符个数++
        }
    }
    cout << cnt << c; // 输出最后一个遇到的新字符的信息

    return 0;
}
题解:洛谷 B2123 字符串 p 型编码 等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。给定一个完全由数字字符(‘0’,‘1’,‘2’,…,‘9’)构成的字符串 str ,请写出 str 的 p 型编码串。输入仅一行,包含字符串 str。每一行字符串最多包含。,因此它的 p 型编码串为。,因此它的p型编码串即为。本文分享的必刷题目是从。#入门# #语法基础# 阅读详情

相关推荐

题解:洛谷 P3955 [NOIP 2017 普及组] 图书管理员

如果一本书的图书编码恰好以读者的需求码结尾,那么这本书就是这位读者所需要的。小 D 刚刚当上图书馆的管理员,她知道图书馆里所有书的图书编码,她请你帮她写一个程序,对于每一位读者,求出他所需要的书中图书编码最小的那本书,如果没有他需要的书,请输出。行,每行包含两个正整数,以一个空格分开,第一个正整数代表图书馆里读者的需求码的长度,第二个正整数代表读者的需求码。个读者所需要的书中图书编码最小的那本书的图书编码,否则输出。,以一个空格分开,分别代表图书馆里书的数量和读者的数量。#普及-# #其他排序#

团爸讲算法 1158

B2123 字符串 p 型编码

B2123 字符串 p 型编码 题目描述 给定一个完全由数字字符('0','1','2',…,'9')构成的字符串 str ,请写出 str 的 p 型编码串。例如:字符串 122344111 可被描述为 1个1、2个2、1个3、2个4、3个1 ,因此我们说122344111 的 p 型编码串为 1122132431 ;类似的道理,编码串 101 可以用来描述 1111111111 ;00000000000 可描述为 11个0,因此它的p型编码串即为 110 ;100200300 可描述为 1个1、2个 0

weixin_52952269的博客 353

VisionMaster Qt二次开发:图像获取、COM组件渲染与本地化存储实战

本文详细介绍了基于VisionMaster进行Qt二次开发的核心实战流程,涵盖环境搭建、方案加载、图像数据获取、COM组件渲染与本地化存储。重点解析了如何通过COM组件在Qt界面中实时显示图像,以及将VM图像数据转换为QImage并保存为本地文件的关键步骤与常见问题,为工业视觉项目开发提供稳定高效的解决方案。

weixin_29229261的博客 206

洛谷 B2123 字符串 p 型编码 C语言

给定一个完全由数字字符('0','1','2',…,'9')构成的字符串 str ,请写出 str 的 p 型编码串。输入仅一行,包含字符串 str。每一行字符串最多包含 10001000 个数字字符。输出该字符串对应的 pp 型编码串。,因此它的 p 型编码串为。,因此它的p型编码串即为。

whw19337445598的博客 394

C#实战:5分钟搞定Modbus RTU通讯(基于NModbus4库)

本文详细介绍了如何使用C#和NModbus4库快速实现Modbus RTU通讯,包括环境配置、核心功能实现、性能优化及常见问题排查。通过代码示例和实用技巧,帮助开发者高效完成工业自动化设备的数据采集与控制任务。

weixin_30689307的博客 467

Unity物理驱动3D汽车实现:从刚体控制到参数调优

在游戏开发中,刚体物理是实现真实物体运动与交互的核心技术。通过Unity的物理引擎,开发者可以模拟重力、碰撞、摩擦力等物理行为,为游戏世界注入真实感。其技术价值在于能够以符合物理规律的方式驱动游戏对象,避免穿墙、无视惯性等问题,从而提升游戏体验的真实性和沉浸感。这一原理广泛应用于角色控制、车辆模拟、物体破坏等场景。本文以3D小汽车为例,详细解析了如何通过Rigidbody组件施加力与扭矩,并利用C#脚本实现玩家输入逻辑,完成一辆可操控、能碰撞的物理驱动汽车。文中重点探讨了AddForce与角速度控制两种方案

weixin_34380948的博客 501

洛谷B2123 字符串 p 型编码

洛谷B2123 字符串 p 型编码

旺旺的碎冰冰~的博客 296

GWAS与eQTL相结合,进一步筛选疾病相关基因

欢迎关注”生信修炼手册”!在GWAS分析结果中,大部分显著的SNP位点都位于非编码区,很难直接挖掘这些位点的调控机制。通常假设与疾病关联的SNP位点通过调控基因表达来发挥作用,而eQTL...

庐州月光的博客 1万+

31:字符串p型编码

31:字符串p型编码

just_panlei的博客 284

【HSCNN解析】HSCNN:从欠采样光谱图重建高光谱图的CNN网络

本文介绍HSCNN,是一个将欠采样光谱图重建为高光谱图的纯CNN网络,2017年提出。

上个大学哪有不疯的?硬撑罢了! 1619

YOLOv8的二次创新 | 结合iRMB与EMA打造全新的iEMA机制,提升动态检测性能【附保姆级代码】

YOLOv8继承了YOLO系列的轻量化和高效检测特性,同时通过改进的架构设计使得其在实时场景下具有更高的检测精度。然而,随着检测需求的增加,尤其是在动态目标检测和长时间序列检测中,YOLOv8的鲁棒性依然可以提升。通过iEMA机制的引入,我们将在这些方面进行进一步优化。iRMB模块是我们对传统Residual Block的进一步改进。通过多层特征提取,iRMB能够捕捉更多层次的特征信息,并通过引入轻量化的残差结构,提升计算效率。

一键难忘的博客 3085

洛谷B2123 字符串 p 型编码(字符串字符)

题目描述 给定一个完全由数字字符('0','1','2',…,'9')构成的字符串 str ,请写出 str 的 p 型编码串。例如:字符串 122344111 可被描述为 1个1、2个2、1个3、2个4、3个1 ,因此我们说122344111 的 p 型编码串为 1122132431 ;类似的道理,编码串 101 可以用来描述 1111111111 ;00000000000 可描述为 11个0,因此它的p型编码串即为 110 ;100200300 可描述为 1个1、2个 0、1个2、2个0、1个3、2个

weixin_59268267的博客 897

华为OD机考双机位C卷 - 手机App防沉迷系统(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 手机App防沉迷系统(OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 2061

老题新解|字符串p型编码

信息学奥赛一本通第122题:字符串p型编码 给定一个完全由数字字符('0','1','2',…,'9')构成的字符串 str ,请写出 str 的 p 型编码串。

程序员莫小特的编程世界 1200

控制科学与工程(自动化)保研经验【2】——南开、同济篇

禁止转载 1、南开人工智能学院夏令营   保研之旅第一个夏令营就是南开,南开夏令营非常早(6月份),当时我们专业仅有两人入营。夏令营前一天我们两个坐高铁来到了天津,几经辗转来到了南开的津南校区,非常偏僻。在自己找的酒店住了一晚,第二天一早去学院报到,资格审查、报销路费等等,然后开营仪式,吃饭,入住酒店,实验室参观。   开营仪式和实验室参观了解到,南开人工智能学院是国内第一批人工智能学院,和很多高...

Control Everything 6532

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

洛谷 P3955 [NOIP2017 普及组] 图书管理员

本文针对洛谷 P3955 [NOIP2017 普及组] 图书管理员问题提出了一种基于哈希映射的高效解法。通过预处理图书编码,建立后缀到最小编码的映射关系,实现快速查询。具体步骤包括:输入并排序图书编码;从大到小处理每个编码,将其所有可能的后缀存入哈希表;查询时直接检查需求码对应的最小图书编码。文章提供了C++和Python两种实现代码,并分析了算法的时间复杂度。该方法通过空间换时间,保证了查询的快速响应,适用于题目给定的数据规模。

jzwalliser的博客 2246

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【题解】【洛谷P3955】【排序】—— [NOIP2017 普及组] 图书管理员

小 D 刚刚当上图书馆的管理员,她知道图书馆里所有书的图书编码,她请你帮她写一个程序,对于每一位读者,求出他所需要的书中图书编码最小的那本书,如果没有他需要的书,请输出。本平台利用趣味性和互动性强的教学方式,旨在激发孩子们对编程的兴趣,培养他们的逻辑思维能力和创造力,让孩子们在轻松愉快的氛围中掌握编程知识,为未来科技人才的培养奠定坚实基础。行,每行包含两个正整数,以一个空格分开,第一个正整数代表图书馆 里读者的需求码的长度,第二个正整数代表读者的需求码。的数据,所有的图书编码按从小到大的顺序给出。

Pantheraonca的博客 808

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

洛谷 入门与面试 B2121-B2130 题单

洛谷 入门与面试 B2121-B2130 题单

青少年趣味编程 874

STL —— 洛谷字符串(string库)入门题(蓝桥杯题目训练)(二)

STL —— 洛谷字符串(string库)入门题(蓝桥杯题目训练)(二)

祯的博客 1582

洛谷 P3955 图书管理员【模拟/思维】

题目描述 图书馆中每本书都有一个图书编码,可以用于快速检索图书,这个图书编码是一个 正整数。 每位借书的读者手中有一个需求码,这个需求码也是一个正整数。如果一本书的图 书编码恰好以读者的需求码结尾,那么这本书就是这位读者所需要的。 小 D 刚刚当上图书馆的管理员,她知道图书馆里所有书的图书编码,她请你帮她写 一个程序,对于每一位读者,求出他所需要的书中图书编码最小的那本书,如果没有他 需要的书,...

weixin_34174422的博客 106

常用算法代码模板与题单 | 0 - 模拟(更新于2026.10.7)

这篇文档其实是我自己学习路上的一份“复习笔记”。之前看了不少教程,零零散散记了一堆代码片段和小技巧,时间久了就容易忘,翻起来也麻烦。所以干脆花时间整理了一下,把常用的模板、容易踩的坑、还有一些个人觉得挺实用的小技巧都归到了一起。 如果你也在学类似的东西,或许能帮你省下一些翻找的时间;如果有哪里写得不清楚或不对,也欢迎随时指正交流。 希望这份整理也能对你有一点点帮助~ ✨

团爸讲算法 1463

董永建《信息学奥赛一本通》(C++版)

学习信息学算法至今已四年有余,虽然眼下更专注于各类竞赛的新题练习,但一直有个心愿未了,那就是整理《信息学奥赛一本通》的题解。所以,趁现在!

团爸讲算法 516

【洛谷】P1223 排队接水(java,排序,贪心)

题目描述 有 n 个人在一个水龙头前排队接水,假如每个人接水的时间为 Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小。 输入格式 第一行为一个整数 nn。 第二行 n 个整数,第 i 个整数 Ti表示第 i 个人的等待时间 Ti 输出格式 输出文件有两行,第一行为一种平均时间最短的排队顺序; 第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位)。 输入输出样例 输入 #1 10 56 12 1 99 1000 234 33 55 99 812 输出 #1 3 2 7

花开淡墨Cc的博客 960

字符串p型编码

#include<iostream> #include<string> using namespace std; int main() { char a,b; cin >> a; int number = 1; while (cin >> b) { if (a == b) ++number; else { cout << number << a; a = b; number = 1; }

DF.W的那点浅薄的知识 402
上一篇: 洛谷 P3810 【模板】三维偏序(陌上花开)
下一篇: 图森未来杯 套娃 题解 CDQ分治
bbc_ouo
博客等级 码龄3年 2096粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值