昨晚忘记判只有一个字符的情况fst了呜呜呜

挺有趣的题,昨晚连刚带猜弄出结论

考虑答案的取值,最优答案可能是一个后缀,或者是一个前缀,或者是一个后缀加上前缀

那么翻转之后最优答案的可选值就有了1的前缀+n的后缀

对于一个合法的zebra串,无论怎么翻转都不会影响他的取值,所以预处理一遍扫过去找答案即可。

强烈谴责CF昨晚的数学大赛pretest数据太水

Code:

#include <cstdio>
#include <cstring>
using namespace std;const int N = 1e5 + 5;int n, a[N], suml[N], sumr[N];
char s[N];inline int max(int x, int y) {return x > y ? x : y;
}inline int min(int x, int y) {return x > y ? y : x;
}int main() {scanf("%s", s + 1);n = strlen(s + 1);for(int i = 1; i <= n; i++) a[i] = s[i] - '0';for(int i = 1; i <= n; i++) if(a[i] != a[i - 1]) sumr[i] = sumr[i - 1] + 1;else sumr[i] = 1;for(int i = n; i >= 1; i--)if(a[i] != a[i + 1]) suml[i] = suml[i + 1] + 1;else suml[i] = 1;int ans = 0;for(int i = 1; i < n; i++) {if(a[i] != a[i + 1]) ans = max(sumr[i] + suml[i + 1], ans);if(a[1] != a[n]) ans = max(min(sumr[n], n - i) + min(suml[1], i), ans);ans = max(ans, suml[i]);ans = max(ans, sumr[i + 1]);}printf("%d\n", max(ans, 1));return 0;
}

View Code

转载于:https://www.cnblogs.com/CzxingcHen/p/9503685.html

CF 1025C Plasticine zebra相关推荐

  1. cf----2019-10-03(Minimum Value Rectangle,Plasticine zebra,Weakened Common Divisor)

    城市黎明的灯火,总有光环在陨落,模仿者一个又一个,无人问津的角色,你选择去崇拜谁呢,怨恨谁呢? You have nn sticks of the given lengths. Your task i ...

  2. CF1025C Plasticine zebra

    思路: 不要被骗了,这个操作实际上tm是在循环移位. 实现: 1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() ...

  3. 2.25-3.2 周记

    2.25-3.2 1. 计算几何 1.1 二维几何基础 struct Point{double x,y;Point(double x = 0, double y = 0):x(x),y(y){} } ...

  4. Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)

    A. Doggo Recoloring ps:注意 n == 1 B. Weakened Common Divisor 题解:WCD出现中的数必然是 < a, b >中某个数的公约数.而 ...

  5. Zebra POS打印机Wifi无线打印方案和Android实现

    前段时间做了一个无线打印的Android App,打印机用的是Zebra的 QL 220(移动打印机)和GX 430t(桌面打印机).这里给大家分享一下具体实现方法.调用打印机用的是Zebra提供的Z ...

  6. 使用ZPL控制Zebra打印机

    ZPL简介: Zebra编程语言 (ZPL)是所有 ZPL 兼容打印机使用的命令语言.可用于绘制文本.形状.条形码和图像等元素,组合这些元素.打印机使用它作为指令来创建打印在标签上的图像. 想要打印一 ...

  7. 『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!

    前言: 在前三篇的文章中,和大家一起创建了一个用于TCP连接检测的小组件,如果你记不得了,可以通过以下链接去回顾一下: 『参考』.net CF组件编程(1)--基础之后 『参考』.net CF组件编程 ...

  8. Zebra斑马打印机指令编程进阶(语言通用)--利用指令绘制出图像打印

    之前介绍过Zebra的入门打印,由于Zebra指令繁多,并且自带字体不能打印中文,如果打印内容中有中文的话,还是推荐大家先用Graphic类先画好自己想要的image,然后将整张图片进行打印.而且调试 ...

  9. Zebra斑马打印机编程C#--入门级别打印

    该篇介绍了Zebra打印机打印中文+英文+图片的方法,如果是单单打印英文的话,可使用Zebra自带指令打印Zebra利用指令绘制出图像打印.还有一篇博客是介绍Zebra三种打印方式的利弊Zebra斑马 ...

最新文章

  1. C# Aop简单扫盲及ORM实体类属性拦截示例
  2. html照片4张 9张布局,css实现朋友圈照片排列布局
  3. Linux2.6中的Slab层
  4. MFC控件的颜色设置
  5. 机房收费系统=三层+设计模式
  6. oracle有text字段吗,Oracle Text简介
  7. Python延迟打印字符
  8. delare和typeset
  9. day-05 python函数
  10. WEB前端开发工程师 学习第二天 边框
  11. dialog问题记录
  12. 【20211208】【Python】UCI数据集的简单介绍和使用Python保存UCI数据集为.mat文件
  13. 基于matlab的直流调速仿真系统代码,基于Matlab的双闭环直流调速系统仿真研究毕业设计论文...
  14. 正则匹配中文、繁体字、不常见中文
  15. AutoCAD.Net 实现创建wipeout遮罩实体
  16. 计算机怎么审单流程,电子审单
  17. 16个最佳WordPress登录页面插件
  18. Daily Growing 的歌词
  19. 如何使用eclipse开发android
  20. 机器视觉自动数据标注方法

热门文章

  1. dash 和 bash 切换
  2. javascript笔记整理(对象基础)
  3. FetchType与FetchMode的区别
  4. Hibernate读书笔记
  5. WCF Security userName/Password
  6. 简单使用ansible-playbook
  7. 手机影音第十一天,显示视频缓冲,显示卡顿时的网速,播放系统视频时调用播放器的选择...
  8. MySQL/sqlserver查询in操作 查询结果按in集合顺序显示
  9. wampServer2.1错误(Could not execute menu item (internal error)
  10. 基于nginx实现缓存功能及uptream模块详细使用方法