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

牛牛喜欢字符串【牛客tracker 每日一题】

牛牛喜欢字符串

时间限制:1秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

牛牛现在有一个长度n nn的字符串(仅包含小写字母),他现在把这个字符串,每隔k kk个就分出来一个子串,比如[ 1 , k ] [1,k][1,k]为第一个子串,[ k + 1 , 2 k ] [k+1,2k][k+1,2k]为第二个、[ 2 k + 1 , 3 k ] [2k+1,3k][2k+1,3k]为第三个…(保证n nn%k = 0 k=0k=0)

牛牛想要把这些子串都变成一样的。他可以选择任意一个子串的任意一个字符进行更改,但是他太懒了,他想让你帮他算算最少要进行多少次操作。

输入描述:

第一行输入n ( 1 ≤ n ≤ 10 6 ) n(1≤n≤10^6)n1n106k ( 1 ≤ k ≤ n k(1≤k≤nk(1kn数据保证n nn%k = 0 k=0k=0),第二行输入该字符串。

输出描述:

输出需要的最少操作次数

示例1

输入:

6 2 abaaba

输出:

2

说明:

改为aaaaaa

示例2

输入:

6 3 abbabb

输出:

0

解题思路

首先明确字符串被等分为n / k n/kn/k个长度为k kk的子串,要让所有子串相同,等价于让所有子串的第j ( 0 ≤ j < k ) j(0≤j<k)j(0j<k)个位置的字符一致;解题时遍历每个位置i ii0 00k − 1 k-1k1),统计所有子串中该位置的26 2626个小写字母的出现频次,找出频次最大值m x mxmx,该位置的最少修改次数为子串总数n / k − m x n/k - mxn/kmx(保留出现最多的字符,其余修改);累加所有k kk个位置的最少修改次数,得到整体的最少操作次数。该贪心策略保证每个位置的修改数最优,累加后即为全局最优解,字符仅26 2626个,统计频次耗时固定,整体时间复杂度O ( n ) O(n)O(n),完美适配n ≤ 10 6 n≤10^6n106的规模,高效且精准计算出答案。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefpair<ll,ll>pii;constll p=1e9+7;constll N=2e5+10;intmain(){ll n,k,sum=0;cin>>n>>k;string s;cin>>s;for(ll i=0;i<k;i++){ll cnt[30]={0};for(ll j=i;j<n;j+=k)cnt[s[j]-'a']++;ll mx=0;for(ll i=0;i<26;i++)mx=max(mx,cnt[i]);sum+=n/k-mx;}cout<<sum<<endl;return0;}
http://www.cnnetsun.cn/news/525007.html

相关文章:

  • CSDN博主亲授:Image-to-Video模型调参技巧大全
  • Android模拟器启动失败?一文说清HAXM安装必要性
  • CAPL编写CAN通信测试脚本:从零实现完整示例
  • 智能翻译服务客户支持体系建设
  • 影视预演自动化:导演用AI快速生成分镜视频
  • 互联网大厂求职面试:Java小白的技术挑战与成长
  • Sambert-HifiGan语音合成服务的灾备方案
  • 腾讯混元翻译模型实践|HY-MT1.5-7B镜像快速验证与调用
  • Sambert-HifiGan在智能客服中的应用:情绪识别与响应
  • 人力资源场景:简历扫描OCR识别+人才库自动录入
  • USB接口ID引脚作用解析:通俗解释工作原理
  • 语音合成服务频繁崩溃?深度修复scipy<1.13依赖问题,稳定性提升10倍
  • Sambert-HifiGan语音合成服务的API网关设计
  • 小白指南:Multisim数据库打不开的通俗解释与处理
  • Sambert-Hifigan部署避坑指南:解决端口映射与跨域访问问题
  • CRNN OCR实战:5分钟搭建高精度文字识别系统
  • 优化AIGC文本重复率的权威工具评测与关键方法解析
  • 零基础搞懂 AI 底层:为什么线性代数和概率统计是 AI 的“母语”?
  • UDS 31服务与ECU模式管理的协同设计分析
  • 零基础实现Batocera系统镜像个性化定制方案
  • 探索 WinCC 嵌入式 Excel 报表的强大功能
  • 基于SpringBoot的篮球管理系统(源码+lw+部署文档+讲解等)
  • 基于遗传算法的最优化求解问题:简单多元函数极值问题的优化与通用性代码
  • 实战笔记】CP1H电子手轮控制伺服硬核操作
  • 电子电路中的负反馈机制:全面讲解与应用
  • 通俗解释Scanner类缓冲区原理:结合常用方法分析
  • 通俗解释OllyDbg中代码段与数据段的识别方法
  • 揭秘!提示工程架构师眼中Agentic AI在智能设备的独特应用
  • Matlab实现粒子群优化算法求解含压缩储能设备的综合能源系统运行优化的结果及代码注释与参考文献
  • Comsol介质超表面三次谐波非线性模型,包含功率依赖。 且倍频模型以及转换效率计算