题目链接:http://hihocoder.com/problemset/problem/1061

题目意思:给出一个不超过10MB长度的字符串,判断是否里面含有一个beautiful strings的子串:连续递增且数量相等的字母。

  照着题目分析翻译的代码。。。

  分析得很到位呢,大赞 ^_^

  http://hihocoder.com/discuss/question/2083

  hiho的题目其实挺好的,有专题,有分析,有代码 & 思路参考。。。

  想想出来工作那么久,浮躁的心啊,一个多快两个月没碰啦,得捡回来呢~~~继续ACM哇,为T-shirt fighting !

  

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstdlib>
 4 #include <cstring>
 5 using namespace std;
 6
 7 const int maxn = 1024*1024*10;   // 10MB的字节(1024字节=1KB,1024K=1M)
 8 char str[maxn], s[maxn];
 9 int cnt[maxn];
10
11 int main()
12 {
13     #ifndef ONLINE_JUDGE
14         freopen("in.txt", "r", stdin);
15     #endif // ONLINE_JUDGE
16
17     int n, cas;
18     while (scanf("%d", &cas) != EOF) {
19       while (cas--) {
20         scanf("%d", &n);
21         scanf("%s", str);
22         memset(cnt, 0, sizeof(cnt));
23         int num = 0;
24         int c = 1;
25         for (int i = 0; i < n; i++) {
26             if (str[i] == str[i+1]) {
27                 c++;
28             }
29             else {
30                 s[num] = str[i];
31                 cnt[num++] = c;
32                 c = 1;
33             }
34         }
35
36         bool flag = false;
37         for (int i = 1; i < num; i++) {
38             if (s[i-1]+1 == s[i] && s[i]+1 == s[i+1] && cnt[i-1] >= cnt[i] && cnt[i] <= cnt[i+1]) {
39                 flag = true;
40                 break;
41             }
42         }
43         printf("%s\n", flag ? "YES" : "NO");
44       }
45     }
46     return 0;
47 }

  

转载于:https://www.cnblogs.com/windysai/p/5043942.html

hihocoder 1061.Beautiful String相关推荐

  1. 微软校招编程题Beautiful String的状态机解法

    昨天碰巧看到一道微软校招的编程题,题目大意如下: 如果一个字符串包括三组或者更多组的连续升序字母,每组长度相等,那么我们就称这个字符串是Beautiful String如下是一些Beautiful S ...

  2. 微软校招2015 Beautiful String

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 We say a string is beautiful if it has the equal amount of 3 ...

  3. K-th Beautiful String CodeForces - 1328B(二分+数学)

    For the given integer n (n>2) let's write down all the strings of length n which contain n−2 lett ...

  4. 如何将浮点数很好地格式化为String而没有不必要的十进制0?

    64位双精度数可以精确表示整数+/- 2 53 鉴于这个事实,我选择对所有类型使用双精度类型作为单个类型,因为我最大的整数是无符号的32位. 但是现在我必须打印这些伪整数,但是问题是它们也与实际的双精 ...

  5. 05.【Java】字符串(String与StringBuffer)

    一.String类 1.字符串的特点 字符串是常量,创建后不会被修改 字符串可以显示任意文字的信息 在Java中,单引号扩起来的叫做字符,双引号扩起来的叫做字符串 2.声明字符串 字符串是常量,他可以 ...

  6. hdu - 4346 - beautiful road - 枚举+想法

    题意: 给出一个字符串,字符串由"R","G","?"组成,若字符串存在2个R,且2个R中间是一个G,则称该串为"漂亮串" ...

  7. 安卓入门系列-03安卓的开发方式(逻辑与视图分离)

    安卓视图逻辑分离的开发方式 App的控制方式 一般而言,App的控制由两部分组成:界面和逻辑. 这里界面的布局由资源文件(res文件夹)来控制,其中主要的布局文件是res下layout文件夹下的xml ...

  8. 【C++基础】异常匹配与内建异常类

    目录 异常匹配 catch: 按异常类型匹配 为何要使用异常类 内建异常类 标准库中的异常基类 标准库中的异常类 例1:vector下标访问越界out_of_range异常 例2:内存分配失败bad_ ...

  9. 【译】2019年开始使用Typescript

    基于2018年Stack Overflow Developer的调研,TypeScript作为编程语言比JavaScript更受"喜爱".TypeScript在js开发者中这么受喜 ...

最新文章

  1. 前端部分面试题整理,欢迎补充
  2. C#零碎知识点笔记(容易混淆的一些点)
  3. tar: Cowardly refusing to create an empty archive 问题
  4. webpack插件机制
  5. DataGridView的单元格控制只能输入数字
  6. SQL SERVER触发器使用实例
  7. DL之RetinaNet:RetinaNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  8. 【儿童成长心理学】第一章 引言
  9. SpringMVC流程图示
  10. nssl1454-最短路【并查集,贪心】
  11. 昆虫繁殖(信息学奥赛一本通-T1312)
  12. leetcode题解48-旋转图像
  13. 任正非:美国迟早会爱上华为
  14. java redis sadd_Redis Sadd 命令
  15. Uber宣布停止无人卡车项目,研发重心将转向无人小汽车
  16. java 自己的 pid_Java获取自身PID方法搜集
  17. jquery mobile页面跳转后js不执行的问题
  18. 01> Allwinner全志 T7 Android 7.1 编译
  19. 简道云-第3章-表单
  20. svn server启动报错:The HTTP service failed to start

热门文章

  1. 《spring 2.0技术手册》入门不错!
  2. IIS启动时出现0x8ffe2740的错误
  3. Docker的使用初探(二):Docker与.NET Core的结合
  4. [Leetcode] Remove duplicates from sorted array ii 从已排序的数组中删除重复元素
  5. 业务系统实现记住密码和自动登录功能
  6. 地理空间数据库(Geodatabase)结构(翻译)
  7. Oracle INTERVAL DAY TO SECOND数据类型
  8. SVG Authoring Guidelines[转]
  9. 系统集成项目管理工程师-项目沟通管理笔记
  10. LA3266田忌赛马