尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

cf ratring1600 7月29日

cf ratring1600 7月29日
📅 发布时间:2026/8/2 8:49:49

C. Equal Frequencies

地址链接
把cnt数组清空,统计原串中字母的数量

cin>>n>>s;fill(cnt,cnt+26,0);for(inti=0;i<s.size();i++)++cnt[s[i]-'a'];

把每种字母数量从大到小排序

structNode{intid,cnt;}v[26];boolcmp(Node a,Node b){returna.cnt>b.cnt;}for(inti=0;i<26;i++)v[i]={i,cnt[i]};sort(v,v+26,cmp);

统计一下保留种类数为多少时
需要做出的更改最少
可以枚举一下种类数

intans=0x3f3f3f3f3f3f3f3fll,ansid=0;for(intused=1;used<=26;used++){if(n%used!=0)continue;intm=n/used;intnow=0;for(inti=0;i<used;i++)now+=abs(v[i].cnt-m);for(inti=used;i<26;i++)now+=v[i].cnt-0;now/=2;ans=min(ans,now);if(ans==now)ansid=used;}cout<<ans<<endl;

更新调整后每种字母的个数

for(inti=0;i<ansid;i++){cnt[v[i].id]=n/ansid;}for(inti=ansid;i<26;i++){cnt[v[i].id]=0;}

先确定字符串的哪些位置需要修改
再求出修改后的字符串

for(inti=0;i<s.size();i++){boolvis=0;for(inti=0;i<used;i++){if(s[i]-'a'==v[i].id)vis=true;}if(!vis)s[i]=' ';elseif(cnt[s[i]-'a'])cnt[s[i]-'a']--;elses[i]=' ';}for(inti=0;i<s.size();i++){if(s[i]!=' ')continue;intvis=-1;for(intj=0;j<ansid;j++){if(cnt[v[j].id]){vis=v[j].id;break;}}s[i]=vis+'a';cnt[vis]--;}cout<<ans<<endl;

完整代码:

#include<bits/stdc++.h>#defineintlonglong#defineendl'\n'usingnamespacestd;intn;string s;intcnt[26];structNode{intid,cnt;}v[26];boolcmp(Node a,Node b){returna.cnt>b.cnt;}voidsolve(){cin>>n>>s;fill(cnt,cnt+26,0);for(inti=0;i<s.length();i++)++cnt[s[i]-'a'];intans=0x3f3f3f3f3f3f3f3fll,ansid=0;for(inti=0;i<26;i++)v[i]={i,cnt[i]};sort(v,v+26,cmp);for(intused=1;used<=26;used++){if(n%used!=0)continue;intm=n/used;intnow=0;for(inti=0;i<used;i++)now+=abs(v[i].cnt-m);for(inti=used;i<26;i++)now+=v[i].cnt;now/=2;ans=min(ans,now);if(ans==now){ansid=used;}}cout<<ans<<endl;for(inti=0;i<ansid;i++)cnt[v[i].id]=n/ansid;for(inti=ansid;i<26;i++)cnt[v[i].id]=0;for(inti=0;i<s.length();i++){boolvis=false;for(intj=0;j<ansid;j++){if(v[j].id==s[i]-'a'){vis=true;break;}}if(!vis)s[i]=' ';elseif(cnt[s[i]-'a'])--cnt[s[i]-'a'];elses[i]=' ';}for(inti=0;i<s.length();i++){if(s[i]!=' ')continue;intvis=-1;for(intj=0;j<ansid;j++)if(cnt[v[j].id]){vis=v[j].id;break;}s[i]=vis+'a';--cnt[vis];}cout<<s<<endl;return;}signedmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);intt;cin>>t;while(t--)solve();return0;}

相关新闻

  • 2026年杜邦POM500P甄选指南:这7个应用场景为何值得优先考虑? - geo交流
  • 算法复杂度分析:大O、大Ω、大θ、小o、小ω的完整指南
  • 青岛中央空调维修-欧米到家金牌师傅全城区30分钟火速上门覆盖市南/市北/崂山/李沧等全域各区 专治不制冷/漏水/异响/跳闸

最新新闻

  • 天津南开区防水维修白皮书:5项国标硬标准+12大全场景对症+本地避坑(2026.8新) - 超人防水
  • 嘉兴漏水疑难杂症案例集:知途管道科技如何攻克别人找不到的漏点 - 知途管道科技
  • Godot状态图开发实战:从概念到应用,解决复杂状态管理难题
  • 重庆江津区江南职教中心2026年招生简章——家长最关心的几个问题都在这里 - 学习招生
  • Grove语音识别模块实战:基于Arduino的离线语音控制方案
  • 2026最新|常州防水补漏本地人必选正规靠谱公司推荐 房屋漏水检测维修师傅上门 - 吉林同城获客

日新闻

  • 怀化母婴除甲醛公司测甲醛中心怎么选:康之居母婴除甲醛标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 三步打造你的终极音乐中心:foobox-cn网络电台功能完整指南
  • Lance湖仓格式:为多模态AI工作流设计的终极数据存储方案

周新闻

  • 怀化母婴除甲醛公司测甲醛中心怎么选:康之居母婴除甲醛标准、流程、避坑指南 - 信誉隆金银铂奢回收
  • 三步打造你的终极音乐中心:foobox-cn网络电台功能完整指南
  • Lance湖仓格式:为多模态AI工作流设计的终极数据存储方案

月新闻

  • ClickHouse版本管理深度实战:4步构建零风险升级与回滚体系
  • Java 23 种设计模式:从踩坑到精通 | 番外:责任链模式 —— 物流审批流程实战
  • 华硕笔记本性能解放指南:G-Helper轻量级控制工具全面解析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号