博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
701 C. They Are Everywhere
阅读量:4625 次
发布时间:2019-06-09

本文共 1356 字,大约阅读时间需要 4 分钟。

链接

[]

题意

给你一个包含大小写字母长度为n的字符串,让你找包含所有种类字符的最短串

分析

其实这个用尺取法,先从开始找包含各种字符的串,然后不断地贪心取最小ans,具体看代码

代码

#include
using namespace std;#define ll long longint main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n,i; string s; int a[140],b[140]; //freopen("in.txt","r",stdin); while(cin>>n){ cin>>s; int sum=0; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); for(i=0;i
='a'&&s[i]<='z'){ if(!a[s[i]-'a']){ cnt++; } a[s[i]-'a']++; } else { if(!b[s[i]-'A']) cnt++; b[s[i]-'A']++; } if(cnt==sum){ while(cnt==sum){ if(i-st+1
='a'&&s[st]<='z'){ a[s[st]-'a']--; if(!a[s[st]-'a']) cnt--; } else { b[s[st]-'A']--; if(!b[s[st]-'A']) cnt--; } st++; } } } cout<
<

转载于:https://www.cnblogs.com/mch5201314/p/9498827.html

你可能感兴趣的文章
druid 数据源 使用属性文件的一个坑
查看>>
[na]数据包由于isp不稳定丢包-seq&ack
查看>>
浅谈Web前端浏览器兼容问题
查看>>
用命令行在github新建一个项目
查看>>
测一下我心中想的事
查看>>
java中getName()、getCanonicalName()、getSimpleName()用法比较
查看>>
React Native pod install报错 `Yoga (= 0.44.3.React)` required by `React/Core (0.44.3)`
查看>>
C#中 删除掉字符串数组中的空字符串
查看>>
Win10 驱动装不上,提示:Windows 无法验证此设备所需的驱动程序的数字签名。该值受安全引导策略保护,无法进行修改或删除。...
查看>>
数值计算小问题
查看>>
A股行情记录
查看>>
集合(下)
查看>>
【转】循序渐进地代码重构
查看>>
CSS网页特效--倒影
查看>>
设计模式之—中介者模式<Mediator Pattern>
查看>>
C:指针遍历二维数组
查看>>
Mysql,SqlServer,Oracle主键自动增长的设置
查看>>
断言(ASSERT)的用法
查看>>
笔记 - Servlet
查看>>
OSI七层模型详解
查看>>