C. Good String Educational Codeforces Round 92 (Rated for Div. 2)

Web3前沿技术的智能合约安全审计 随着Web3技术的快速发展,智能合约作为区块链应用的核心组件,其安全性问题日益突出。本文旨在系统性地介绍智能合约安全审计的技术体系,帮助开发者理解智能合约安全风险,掌握安全审计的方法论和工具链。智能合约安全的基本概念常见漏洞类型及其原理安全审计的技术方法实际审计案例分析安全审计工具和资源首先介绍基本概念和背景然后分析常见漏洞和安全风险接着详细讲解安全审计技术提供实际案例和代码示例最后讨论工具资源和未来趋势智能合约:运行在区块链上的自执行程序,代码即法律安全审计。 阅读详情

Let's call left cyclic shift of some string t1t2t3…tn−1tn�1�2�3…��−1�� as string t2t3…tn−1tnt1�2�3…��−1���1.

Analogically, let's call right cyclic shift of string t� as string tnt1t2t3…tn−1���1�2�3…��−1.

Let's say string t� is good if its left cyclic shift is equal to its right cyclic shift.

You are given string s� which consists of digits 0–9.

What is the minimum number of characters you need to erase from s� to make it good?

Input

The first line contains single integer t� (1≤t≤10001≤�≤1000) — the number of test cases.

Next t� lines contains test cases — one per line. The first and only line of each test case contains string s� (2≤|s|≤2⋅1052≤|�|≤2⋅105). Each character si�� is digit 0–9.

It's guaranteed that the total length of strings doesn't exceed 2⋅1052⋅105.

Output

For each test case, print the minimum number of characters you need to erase from s� to make it good.

Example

input

Copy

3
95831
100120013
252525252525

output

Copy

3
5
0

Note

In the first test case, you can erase any 33 characters, for example, the 11-st, the 33-rd, and the 44-th. You'll get string 51 and it is good.

In the second test case, we can erase all characters except 0: the remaining string is 0000 and it's good.

In the third test case, the given string s� is already good.

题目大意:

给一个数字字符串,在删掉其中一些数字字符后,使得其左移x位和右移x位的结果相等。

问最少要删除多少数字?

 思路:

能使数字字符串要使得其左移x位和右移x位的结果相等的字符串有两种:

1、只有一种数字字符。

2、只有两种数字字符且数量相等,还需要错位排列。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl "\n"

void solve(){
	string s;
	cin >> s;
	ll sum=0,len=s.size();
	for(char x = '0' ; x <= '9' ; x ++)
		for(char y = '0' ; y <= '9' ; y ++){
			ll cnt = 0;
			char c=x;
			for(ll i = 0 ; i < len ; i ++)
				if(s[i] == c)
					cnt++ ,c = c == x ? y : x;
			sum = max(sum,cnt-(x != y && cnt&1) );
		}
	cout << len-sum << endl;
	return;
}

int main(){
	ll t=1;cin >> t;
	while(t--)solve();
	return 0;
}

 

西门子SMART PLC增量式PID(完整梯形图FC) 西门子PLC自带的PID指令是基于位置型的PID,位置型PID的算法公式和详细介绍,大家可以参看《PID专栏》的其它文章,这里不再赘述。本篇博文直接给出代码部分的讲解,不设计太多公式和理论的推导。限于本人能力,文中难免出现错误和不足之处,诚恳欢迎大家的批评和指正。同时感谢大家的订阅和关注。SMART200 PLC系统自带的PID指令解析,可以参看下面这篇文章:SMART PLC PID算法基本解析(附公式)_RXXW_Dor的博客-优快云博客_plc的pid算法在态运行中,控制器调节输出值,使偏差 (e 阅读详情

相关推荐

RoboMaster机甲大师赛备赛:如何用STM32+CAN总线精准控制四个大疆3508电机?

本文详细介绍了在RoboMaster机甲大师赛中,如何利用STM32和CAN总线技术精准控制四台大疆3508电机。从硬件架构设计、多电机ID分配、数据解析到同步控制算法,全面解析了构建高响应、低延迟底盘驱动系统的关键技术,助力参赛队伍提升机器人运动性能。

weixin_28684825的博客 133

Educational Codeforces Round 92 (Rated for Div. 2) C. Good String

Educational Codeforces Round 92 (Rated for Div. 2) C. Good String 题目链接 Let’s call left cyclic shift of some string t1t2t3…tn−1tn as string t2t3…tn−1tnt1. Analogically, let’s call right cyclic shift of string t as string tnt1t2t3…tn−1. Let’s say string t

旺崽的博客 2896

【DDSCAT——离散偶极近似仿真程序05】模型设计Matlab代码:多核壳球 、多核壳圆柱

简洁明了,后面及部分给出的都是模型设计的Matlab代码,这些代码都来自于一篇文章:Chin C W S. Localized Surface Plasmon Resonance with the use of Silver and Titanium Oxide Nanostructures[J]. 2011. 一、设计多个核壳球形结构 1)Matlab代码 ...

XD_Yangf的博客 4258

Educational Codeforces Round 92 (Rated for Div. 2) C - Good String (思维)

题目传送 题意: 给你一个字符串,现在有俩种操作,一种是字符串所有位都向左平移一个单位,另一种是向右平移一个单位,现在要使得这个字符串俩种操作后的字符串还是相等的,问最少改动多少个字符? 思路: 既然要平移后的字符串还是完全相等的,那么可以得到: s[i-1] == s[i+1] (向右平移的和向左平移的),那么再推一下就可以得到只有俩种字符串是可以的: 1111111 或者 2525252525(这种只能是偶数) 那么由于是只有0到9的数字组成,那么当然也就20种情况,暴力跑一下就可以了 AC代码 #i

give it a try 325

保姆级教程:用Docker快速部署mpromonet/webrtc-streamer实现WebRTC直播(附常见问题解决)

本文提供了一份详细的Docker部署mpromonet/webrtc-streamer的实战指南,帮助用户快速搭建WebRTC直播服务。内容涵盖从环境准备、基础部署到进阶配置与性能调优的全过程,并针对容器网络、视频流配置、跨网访问等常见问题提供了解决方案,旨在实现低延迟的流媒体传输。

dell8的博客 177

Score Matching(得分匹配)

Score Matching(得分匹配)是一种统计学习方法,用于估计概率密度函数的梯度(即得分函数),而无需知道密度函数的归一化常数。这种方法由Hyvärinen在2005年提出,主要用于无监督学习,特别是在密度估计和生成模型中。

weixin_39699362的博客 2167

Educational Codeforces Round 92 (Rated for Div. 2) C. Good String 模拟+暴力

题意: 给你一个字符串 ,A=T 0_00​,T 1_11​,T 2_22​,T 3...._3....3​....,T N−1_N-1N​−1,T N_NN​, 然后有两个操作,1.最后一个字符移到最前面形成一个字符串S,2.第一个字符移到最后形成一个字符串B,S=T N_NN​T 0_00​,T 1_11​,T 2_22​,T 3...._3....3​....,T N−1_N-1N​−1, B=$,T 1_11​,T 2_22​,T 3...._3....3​....,T N−1_N-1

weixin_45187630的博客 666

AAC编解码器在实时通信中的性能对比与应用选择

本文深入分析了AAC编解码器在实时通信中的性能优化,重点对比了faac、faad2与fdk-aac三大开源方案在WebRTC场景下的表现。通过实测数据揭示其在延迟、音质和资源消耗等关键指标的差异,并提供场景化选型建议与调优技巧,帮助开发者提升实时音视频通信质量。

weixin_29210727的博客 389

Educational Codeforces Round 92 (Rated for Div. 2)解题报告

Educational Codeforces Round 92 (Rated for Div. 2) A. LCM Problem 题目大意 给定区间[l,r][l, r][l,r],让你找到正整数xxx,yyy满足l≤x<y≤rl \leq x < y \leq rl≤x<y≤r,并且l≤lcm(x,y)≤rl \leq lcm(x, y) \leq rl≤lcm(x,y)≤r 解题思路 根据题意有: l≤lcm(x,y)=x×ygcd(x,y)≤rl \leq lcm(x,y)=\fr

weixin_44211980的博客 286

168、运动控制中的标定:编码器零点标定

文章摘要 运动控制系统中的编码器零点标定是确保精确控制的关键基础步骤。文章通过实际案例说明,即使0.3度的零点偏移也会导致电机异常抖动。详细介绍了三种标定方法:反电动势法(需示波器)、电流注入法(适合量产)和霍尔传感器法(粗标定),并指出常见陷阱如忽略极对数、Z脉冲重复性问题和温度漂移。提供了基于STM32的嵌入式实现代码片段,强调标定后的静态、动态和负载验证的重要性。作者建议量产产品设置自动标定工位,研发样机采用更精确的方法,并强调标定数据应与电机序列号绑定。

m0_50546716的博客 137

图像紫边消除(depurple)

对图像紫边形成原因、消除方法进行了介绍。

沧海一升的博客 7565

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 239

浅谈银行内部户治理

为避免该问题的发生,对内部户入账类交易,或内部户是可透支的账户(如系统间往来),可考虑通过异步方式更新账户余额(当然,根本上还是要考虑银行业务量的实际,异步消息接口很多时候没有同步接口方便),另外,在进行内部户余额更新时,可以通过定时的借贷方发生额轧差的方式,将多次的锁请求,简化为一次(当然,发生额明细本身在加工账户交易历史时,是不能汇总的)。内部户在银行系统中,属于业务属性较少,实现相对简单,原理也很容易讲清的系统,但管中窥豹,越是基础的东西,越能看出一家银行业务、内控的专业程度。

银行信息系统应用架构详解 788

选型笔记:Type‑C 扩展坞方案评估|DP1.4 转 HDMI2.0 桥接芯片 GSV2201S@ACP

本文记录 GSV2201S 这款 DP1.4a 转 HDMI2.0 桥接芯片评估,梳理视频、HDCP、PD 集成能力,总结 Type‑C 转接 Dongle、扩展坞方案的适配边界,以及差分走线、PD 时序、HDCP 握手等高频调试问题,为 C 口视频转接方案选型提供参考。

ACP广源盛的博客 221

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C++移动构造函数详解

移动构造函数是C++11引入的一种特殊构造函数,用于从临时对象(右值)"窃取"资源来初始化新对象,而不是进行昂贵的深拷贝。char* data;public:// 移动构造函数:参数是右值引用 &&// 关键:把源对象的资源置空。

拒绝AI文,努力在AI时代写出感动人心的好文章 391

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ThunderKittens 深度解析:一个不基于 MLIR 的 C++ 模板 GPU DSL

Triton 是"让更多人能写 GPU kernel",ThunderKittens 是"让会写的人写得更爽"。前者用 MLIR 换易用性,后者用 C++ 模板换可控性。它们不是替代关系,而是覆盖了 GPU 编程光谱的两端。ThunderKittens 的出现,本质上是对"GPU DSL 必须基于 MLIR"这一默认假设的挑战。编译期类型系统本身就可以是一个强大的 DSL 基础设施,不需要中间 IR,不需要黑盒 pass,也能实现 tile 级抽象和零运行时开销。

Maxwell_Newton的博客 336

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【C语言】字符与字符串函数

C语言中字符串为以\0结尾的字符数组,标准库函数基于此约定。本文解析字符串内存布局,详解ctype.h与string.h中字符分类、长度计算、拷贝、比较等函数的使用要点,强调长度判断与越界风险,最后通过命令行待办事项示例整合fgets、sscanf、strncpy、strcmp,展示实际应用中的关键细节。

记录在学习过程中学到的知识 343

C++ 多态详解:作用、原理与实战用法

多态是C++面向对象的核心特性,通过虚函数实现运行期动态绑定,使同一接口在不同对象上表现出不同行为。其核心作用包括统一接口、提升可扩展性、降低耦合、支持运行时分派与批量处理。实现依赖虚函数表(vtable)和虚指针(vptr),需注意虚析构函数、对象切片等陷阱。相比编译期多态(模板),运行期多态灵活性高但有调用开销。合理结合两者,可兼顾代码的灵活性与性能,是构建可扩展、低耦合系统的关键。

2402_85743155的博客 382

C++ 函数模版

模板参数:● template ,T 就是类型占位符,名字可以自定义,习惯用T● 占位符可以在函数返回值、形参、函数内部当作类型使用使用要点模板代码一般写在头文件:编译器需要看到完整模板源码,才能在每个编译单元完成实例化全局函数、类内成员函数都可以写成模板实例化发生在编译阶段,不是运行时隐式实例化:调用时编译器自动推导实参类型,生成对应版本函数。

2501_94041724的博客 304

C++ 运行时多态与虚函数机制全面剖析【面试重点】

构成C++ 运行时多态必须是基类的指针或者引用调用虚函数。被调用的函数必须是虚函数,并且派生类必须对该虚函数完成重写/覆盖(Override)。只有基类的指针或引用才能既指向基类对象,又指向派生类对象(切片机制);而只有完成了虚函数重写,派生类与基类才具备不同的函数行为,达到“指向谁就调用谁”的效果。在类成员函数的前面加上virtual关键字修饰,该成员函数就成为了虚函数。public:// 成员函数前加 virtual 修饰,声明为虚函数。

Fuyo_0209的博客 437

#SQLite 数据库笔记一:(概念 / 终端指令 / SQL 语句 / C 编程 / 回调函数)

数据库 = 数据的仓库,假设数据是海量。能力说明存储数据持久化保存,程序退出数据还在统计数据、分组、排序数据管理增、删、改、查(CRUD)嵌入式设备上也会用数据库(单片机网关、路由器、工业 HMI 都常见),因为 sqlite 体积小、无需服务进程、单文件即可。数据库 = 库 > 表 > 记录(行) > 字段(列)sqlite3 = 开源、C 写的、单文件、免安装、最多 2T 的嵌入式关系型数据库。

lwq20051110的博客 204

【C++】【STL】string_OJ题

本文总结了9道C++ STL中关于string的OJ题目,按操作类型分为三组:反转与就地修改(如917、541、151)、计数与查找(如387、125、58)、模拟与大数运算(如415、43、8)。核心技巧包括双指针收敛、字符分类处理、进位控制及边界值处理。所有题目使用同一套源码,在标准库std::string与自定义容器MyString间切换仅需宏定义,验证结果一致性。代码通过随机测试用例与Trace函数逐行比对,确保逻辑正确性,强调接口对齐的重要性。

这里是Cocatrice的博客,感谢大家一直以来的支持和鼓励,如果对C/C++方向感兴趣的话,可以通过主页的微信名片加Cocatrice的好友,也可以通过邮箱:Chen31980094@163.com 联系,一同加油! 4371

C 语言 malloc() 详解与实战 Demo

本文详解C语言malloc()函数,涵盖其语法、内存原理及实战应用。通过动态整数、数组、结构体与链表的Demo,演示如何安全申请、使用与释放内存,强调避免内存泄漏与空指针检查的重要性,帮助开发者掌握动态内存管理核心技能。

tangPHP的博客 370

【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针

C++类与对象知识(面向过程和面向对象的初步认识,类的初步认识,类的访问限定符及封装,类的作用域、实例化,类的对象模型,this指针)

2601_96587588的博客 880

【C++ 基础入门】C++继承(下):问题、底层原理与组合

C++继承(菱形继承的问题、虚继承原理、继承与组合、构造顺序)

2601_96587588的博客 773
上一篇: PTA家庭房产
下一篇: PTA锦标赛
翰墨织梦
博客等级 码龄4年 384粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值