传送门

题意: 给你一个长度为n的字符串, 字符串只由 A B 组成。

   问你这个字符串存在多少个 good string; ( 连续的一段子串 )

   good string 的定义就是: 字符串中所有的元素都属于这个字符串中的某个回文串。

   例如: AAABBB 就是一个good string, 因为 AAA 都属于AAA这个回文。BBB也属于BBB这个回文。

      ABAA 也是一个 good string, 因为 第一个A 属于 ABA 这个回文,最后一个A属于AA这个回文。

解: 思维题。  发现只有 ABB或者 BBA 这种 是不行的, 其他怎么选都是行的。

   若全都是合法的, 那对于每个位置 i, 以它作为子串的右端点,能选的左端点有 i - 1个。

   那对于以 i 为右端点的,不能选的左端点分类。

   1、若是像 ABBBA, 这种的,那你以第二个A为右端点,不能选的就是两个A之间连续的B那一段的长度。

   2、对于 ABBABBBB 那你 以最右边的B为右端点,不能选的就是以第二个A为左端点的这一段,其他都可以选。

  1. #include <bits/stdc++.h>
  2. #define LL long long
  3. #define ULL unsigned long long
  4. #define rep(i,j,k) for(int i=j;i<=k;i++)
  5. #define dep(i,j,k) for(int i=k;i>=j;i--)
  6. #define INF 0x3f3f3f3f
  7. #define mem(i,j) memset(i,j,sizeof(i))
  8. #define make(i,j) make_pair(i,j)
  9. #define pb push_back
  10. #define Pi acos(-1.0)
  11. using namespace std;
  12. const int N = 3e5 + ;
  13. char a[N];
  14. int main() {
  15. int n;
  16. scanf("%d %s",&n, a + );
  17. LL ans = ; int like = ;
  18. rep(i, , n) {
  19. if (i == || a[i] == a[i - ]) like++, ans += i - - (like < i);
  20. else ans += i - - like, like = ;
  21. }
  22. printf("%lld\n",ans);
  23. return ;
  24. }

  

D. AB-string ( 思维 )的更多相关文章

  1. 2019牛客多校第三场B Crazy Binary String 思维

    Crazy Binary String 思维 题意 给出01串,给出定义:一个串里面0和1的个数相同,求 满足定义的最长子序列和子串 分析 子序列好求,就是0 1个数,字串需要思考一下.实在没有思路可 ...

  2. B. Game with string 思维问题转化

    B. Game with string 思维问题转化 题意 有一个字符串 每次可以删去连续的两个同样的字符,两个人轮流删,问最后谁能赢 思路 初看有点蒙蔽,仔细看看样例就会发现其实就是一个括号匹配问题 ...

  3. [SOJ #687]双生串(2019-11-6考试)/[hdu5431]AB String

    题目大意 把所有仅包含\(AB\)的字符串按字典序排列,给你一个仅包含\(AB\)的字符串\(S\),然后有\(Q\)个问题,第\(i\)个问题给你\(k_i\),求不是\(S\)的子串中,第\(k_ ...

  4. Nikita and string [思维-暴力] ACM

    codeforces Nikita and string time limit per test   2 seconds memory limit per test   256 megabytes O ...

  5. Codeforces ~ 1009B ~ Minimum Ternary String (思维)

    题意 给你一个只含有0,1,2的字符串,你可以将"01"变为"10","10"变为"01","12" ...

  6. Codeforces Round #527 -A. Uniform String(思维)

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  7. CF1009B Minimum Ternary String 思维

    Minimum Ternary String time limit per test 1 second memory limit per test 256 megabytes input standa ...

  8. Codeforces Round #550 (Div. 3) E. Median String (思维,模拟)

    题意:给你两个字符串\(s\)和\(t\),保证\(t\)的字典序大于\(s\),求他们字典序中间的字符串. 题解:我们假设题目给的不是字符串,而是两个10禁止的正整数,那么输出他们之间的数只要把他两 ...

  9. Codeforces Round #501 (Div. 3) B. Obtaining the String (思维,字符串)

    题意:有两个字符串\(S\)和\(T\),判断\(T\)是否能由\(S\)通过交换某位置的相邻字符得到,如果满足,输出交换次数及每次交换的位置,否则输出\(-1\). 题解:首先判断不满足的情况,只有 ...

  10. Codeforces 1221F Game With String 思维题

    题意:有两个人玩游戏,游戏规则如下:有一个长度为n的字符串,这个字符串由 . 和 X 构成,Alice可以选择a个连续的 . 把它们变成X, Bob可以选择连续的b个 . 把它们变成X.题目中保证a ...

随机推荐

  1. windons下一些软件的地址

    idea http://download.jetbrains.8686c.com/idea/ideaIC-2018.3.1.exe

  2. SysTick 定时实验(中断)

    实验目的:利用 SysTick 产生 1s 的时基,LED 以 1s 的频率闪烁. 编程要点 1.设置重装载寄存器的值 2.清除当前数值寄存器的值 3.配置控制与状态寄存器 过程 我们创建了两个文件: ...

  3. 附录:ARM 手册 词汇表

    来自:<DDI0406C_C_arm_architecture_reference_manual.pdf>p2723 能够查询到:“RAZ RAO WI 等的意思” RAZ:Read-As ...

  4. ActiveMQ 简单应用

    ActiveMQ简单应用到复杂的订单模块,提高前台的访问速度. 一.当提交订单后,发送消息给ActiveMQ. @Service public class JmsSend { private stat ...

  5. PHP关于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本选择的问题

    这里是我在搭建php环境时收集的资料供大家参考: 现在PHP官网上下载PHP安装包都有VC11或VC9的字样,这是什么含义,我们应该下载哪种安装包更好呢?其实PHP官网给出了答案: VC6版本是使用V ...

  6. idea jetty:run 启动

    1.首先pom    文件 <!-- jetty插件 --> <plugin> <groupId>org.mortbay.jetty</groupId> ...

  7. Java内存 模型理解

    概述 在正式讲Java内存模型之前,我们先了解一些物理计算机并发问题,然后一点点的引出Java内存模型的由来. 多任务处理在现在计算机操作系统中几乎是一项必备的功能.这不单是因为计算机计算能力强大,更 ...

  8. JFrame windowbuiler的使用基础

    一.通过windowbuilder创建java项目: New --Other--windowbuilder--SWT Designer --SWT/JFace Java Project 二.创建文件 ...

  9. 【appium】appium中的元素定位和基本操作

    # coding=utf-8 from appium import webdriver import time from selenium.webdriver.support.ui import We ...

  10. java利用MultipartRequest的getFileName方法不能得到原文件名问题

    想利用MultipartRequest的getFileName方法来一次获取多个上传的文件名字时,得到的不是文件的名字,而是 input 的name属性 最后找到了答案,解决方法,参照http://s ...