传送门

题意: 给你一个长度为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为左端点的这一段,其他都可以选。

#include <bits/stdc++.h>
#define LL long long
#define ULL unsigned long long
#define rep(i,j,k) for(int i=j;i<=k;i++)
#define dep(i,j,k) for(int i=k;i>=j;i--)
#define INF 0x3f3f3f3f
#define mem(i,j) memset(i,j,sizeof(i))
#define make(i,j) make_pair(i,j)
#define pb push_back
#define Pi acos(-1.0)
using namespace std;
const int N = 3e5 + ;
char a[N];
int main() {
int n;
scanf("%d %s",&n, a + );
LL ans = ; int like = ;
rep(i, , n) {
if (i == || a[i] == a[i - ]) like++, ans += i - - (like < i);
else ans += i - - like, like = ;
}
printf("%lld\n",ans);
return ;
}

  

最新文章

  1. 线程的2个ID
  2. 分析和解析PHP代码的7大工具
  3. MVC神韵---你想在哪解脱!(十)
  4. java生成UUID通用唯一识别码 (Universally Unique Identifier)
  5. 以交互方式使用exp/imp的演示
  6. Org-mode五分钟教程ZZZ - Kaka Abel的日志 - 网易博客
  7. for for-in foreach 循环
  8. 【2】Chrome - 快捷键
  9. java 基础知识三 java变量
  10. 这是个巧妙的表达式: a ˆ= b ˆ= a ˆ= b 它不需要临时变量就可 以交换 a 和 b 的值。
  11. BZOJ 2595: [Wc2008]游览计划 [DP 状压 斯坦纳树 spfa]【学习笔记】
  12. nodejs EventEmitter 发送消息
  13. 使用 vue-cli-service inspect 来查看一个 Vue CLI 3 项目的 webpack 配置信息(包括:development、production)
  14. Hadoop生态圈-Zookeeper的工作原理分析
  15. django 模板context的理解
  16. PAT B1045 快速排序 (25 分)
  17. PAT 1062 最简分数
  18. 洛谷 P1437 [HNOI2004]敲砖块 解题报告
  19. IDEA配置文件的配置文件配置
  20. Spark数据本地性

热门文章

  1. Codeforces Round #557 Div. 1 based on Forethought Future Cup - Final Round
  2. .net Core如何对静态文件的访问进行鉴权操作?
  3. 在textarea和input光标处插入内容,支持ie
  4. iOS音频频谱动画,仿QQ录音频谱
  5. selenium网页截图和截图定位(无界面)phantomjs
  6. tesseract图像识别验证码:安装使用和避免坑
  7. 【Zookeeper】分布式锁
  8. JavaScript监听回车事件
  9. nginx搭建反向代理服务器详解
  10. c# 类成员的可访问性