题意

让我们在这个字符串中找一定k长度的字串中都至少含有一个相同的字符 让求这个字串的最小长度

分析

也就是说当我们最终确定了 字串的最小长度后 每个以此长度的字串都至少含有一个相同字符
那么当我们找这个长度的时候 也就是说 每个k长度的字串中都至少出现一个相同的字符
那么也就是说 如果我们知道每个字符间距的最大距离作为这个串的必要结果 也就是说 这个所有字符最大间距的最小值就是我们需要的答案

code

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
char a[100010];
int pos[30],ans[30];// pos存放最长距离 ans中存放每个字符的最大距离 其中取最小的就是结果
const int inf = 900010;
int main()
{gets(a);int c=0,len = strlen(a);memset(ans,-1,sizeof(ans));for(int i=0;i<len;i++){// 注意考虑的是每个字符的最大间距 不能忽略一个字符最后的位置和最后长度的距离 和一个字符第一个位置与最开始位置的长度 我们考虑的是if(ans[a[i]-'a']==-1)ans[a[i]-'a'] = i+1;//b与串开始的距离 为最大距离ans[a[i]-'a']=max(i-pos[a[i]-'a'],ans[a[i]-'a']);// 注意 aaabbb的情况中要考虑到a与最后一个字符的距离 pos[a[i]-'a']=i;}for(int i=0;i<26;i++)if(ans[i]!=-1)ans[i] = max(len-pos[i],ans[i]);int res=inf;for(int i=0;i<26;i++){if(ans[i]!=-1)res = min(ans[i],res);}printf("%d\n",res);return 0;
}

K-Dominant Character CodeForces - 888C 思维 构造相关推荐

  1. The 15th Chinese Northeast Collegiate H - Loneliness(思维,构造)

    LINK 注意 左上角是 ( 1 , 1 ) (1,1) (1,1),右下角是 ( n , n ) (n,n) (n,n) 如果无脑走下去,会乘上一个 2 n − 1 2^{n-1} 2n−1,早就爆 ...

  2. CodeForces - 888C K-Dominant Character 思维

    题意 找到在整个字符串中 所有以k长度的子串中的公共串至少长度为1的字符串 求出这个K的最小值是多少 分析 每个子串都有的至少长度为1的公共子串 这里我们要求k的最小 那么不如就把公共串的长度考虑为1 ...

  3. CodeForces - 1504C Balance the Bits(思维+构造)

    题目链接:https://vjudge.net/problem/CodeForces-1504C 题目大意:给出一个长度为 nnn 的 010101 串,现在要求构造出两个长度为 nnn 的合法括号序 ...

  4. 【CodeForces - 798D】Mike and distribution (思维构造,贪心,黑科技)

    题干: Mike has always been thinking about the harshness of social inequality. He's so obsessed with it ...

  5. CodeForces - 1291D Irreducible Anagrams(思维+构造)

    题目链接:点击查看 题目大意:首先规定两个字符串 s 和 t 为 Anagrams ,当且仅当字符串 t 可以通过字母重新排列后得到 s ,也就是每个字符出现的次数相同,但位置不做要求,紧接着规定另一 ...

  6. CodeForces - 715A Plus and Square Root(思维+构造)

    题目链接:点击查看 题目大意:我们在玩一个游戏,屏幕上有一个数字,我们设这个数字为x,初始值为2,我们一开始的等级是k,我们每一次可以有两种操作: 加法:可以让x加上k 开根号:可以让x开根号,并且等 ...

  7. Binary String Reconstruction CodeForces - 1352F(思维+构造)

    For some binary string s (i.e. each character si is either '0' or '1'), all pairs of consecutive (ad ...

  8. Codeforces Round #624 (Div. 3) E. Construct the Binary Tree 思维 + 构造

    传送门 文章目录 题意: 思路: 题意: 给你n,dn,dn,d,让你构造有nnn个点的二叉树,他们每个节点深度和为ddd. n,d≤3000n,d\le 3000n,d≤3000. 思路: 先考虑不 ...

  9. Codeforces Round #701 (Div. 2) D. Multiples and Power Differences 思维构造

    传送门 题意: 给定一个矩阵aaa,让你构造一个矩阵bbb,要求矩阵bbb的每个元素是aaa对应位置元素的倍数,且矩阵bbb的每两个相邻元素相差为k4(k>=1)k^4(k>=1)k4(k ...

最新文章

  1. WPF入门知识(学习)
  2. sqlite fts5 编译 xcode other c flags
  3. 新建JavaWeb项目
  4. 浅析如何通过PHP类的反射来实现依赖注入
  5. wk一sm5时间温度控制器_Android RTC 自下而上分析
  6. 重写GridView支持数据筛选和自动排序功能
  7. ASP.NET Core 中间件Diagnostics使用 异常和错误信息
  8. 0% [正在连接 cn.archive.ubuntu.com (2001:67c:1562::19)]关于其连接不上的问题:
  9. Android Builder模式
  10. HTML中背景图片如何自适应屏幕
  11. Photoshop CS6下载包下载 及破解安装教程
  12. ApacheCN 活动汇总 2019.8.30
  13. 如何把RAR文件改成ZIP格式
  14. 关于起点中文网的一个我自认为是BUG的BUG(花了我一毛三分钱才实验出来的)...
  15. java html截图_Java实现网页截图/登录截图
  16. Microsoft.NET离线运行库合集
  17. 机器人操作空间轨迹规划 -- 姿态规划
  18. ffmpeg-nvenc
  19. CSS背景半透明效果
  20. 2021-2027全球与中国冰箱稳定器市场现状及未来发展趋势

热门文章

  1. Javascript 获取和设置日期
  2. 基于混合云存储系统的电影推荐引擎小结
  3. 用Log4Net来记录系统的日志信息
  4. [MySQL] - 返回影响行数
  5. 如何更sql sever数据库表的所有者
  6. HK-2000 数采仪系统说明之 7.HK7710 DTU 简单配置说明
  7. mysql outfile csv_sql-MySQL导出到outfile:CSV转义字符
  8. 67-Flutter中高德地图插件的使用
  9. TabLayout中的Tab.setCustomView左右有空隙,TabLayout下划线间隙设置,下划线长度设置
  10. html打包成app的缓存问题,webpack 独立打包与缓存处理