题目描述

双11又到了,小Z依然只是一只单身狗,对此他是如此的苦恼又无可奈何。

为了在这一天脱单小Z决定向女神表白,但性格腼腆的小Z决定隐晦一点,截取一段包含'L'、'O'、'V'、'E'的英文。(顺序不限)

小Z想起之前小D送给他一本英文书,决定在这里面截取一段话,小Z发现有好多种方案来截取这段话。

你能知道小Z能有多少种方案截取这段话么?

为了简化问题,英文文本讲不会出现空格、换行、标点符号及只有大写的情况。

输入描述:

本题有T组数据。对于每组数据只有一行文本。1≤T≤201≤文本长度≤100000

输出描述:

输出结果,并换行。
示例1

输入

3
ILOVEACM
LOVELOVE
ALBECVOD

输出

8
15
4

题解

$dp$,枚举。

枚举子串的起点,寻找最近的符合要求的终点,后面的都满足。

寻找最近的终点,可以二分,也可以$dp$预处理。

#include <bits/stdc++.h>
using namespace std;const int maxn = 1e5 + 10;
int T;
char s[maxn];
int f[maxn][4];
char t[5] = {'L', 'O', 'V', 'E'};int main() {scanf("%d", &T);while(T --) {scanf("%s", s);int len = strlen(s);for(int i = 0; i < len; i ++) {for(int j = 0; j < 4; j ++) {f[i][j] = len;}}int pos;for(int j = 0; j < 4; j ++) {pos = len;for(int i = len - 1; i >= 0; i --) {if(s[i] == t[j]) pos = i;f[i][j] = pos;}}long long ans = 0;for(int i = 0; i < len; i ++) {int p = 0;for(int j = 0; j < 4; j ++) {p = max(p, f[i][j]);}ans = ans + len - p;}printf("%lld\n", ans);}return 0;
}

  

转载于:https://www.cnblogs.com/zufezzt/p/8086316.html

哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)F - 苦逼的单身狗相关推荐

  1. 哈尔滨理工大学第七届程序设计竞赛初赛 题集

    1. 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 这是mengxiang000和Tabri ...

  2. 哈尔滨理工大学第七届程序设计竞赛初赛(低年级组)

    水题就不做讲解了~~~~~: A 蓝廋.香菇 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 ...

  3. 哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)题解

    比赛链接:https://www.nowcoder.com/acm/contest/27#question A: 小Z的体型实在是太胖了,每次和小D一起出门都跟不上小D的脚步,这让小Z很气馁,于是小Z ...

  4. 哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)F 苦逼的单身狗【DP】

    时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 双11又到了,小Z依然只是一只单身狗,对此他是 ...

  5. 【哈尔滨理工大学第七届程序设计竞赛初赛(高年级组)】 A B C D F G H I

    A 凌波微步 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 小Z的体型实在是太胖了,每次和小 ...

  6. 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)G - 幼儿园战争...

    题目描述 幼儿园的孩子们正在做游戏,每个人都有自己的帮派,帮派之间打架,然后赢者吞并弱者扩大自己的势力.最开始每个孩子的帮派中只有自己,然后接下来有会有两个人打架,这两个人会集结自己所属的势力开始打架 ...

  7. 哈尔滨理工大学第七届程序设计竞赛决赛(现场赛-高年级组)B-幸运大奖

    链接: https://www.nowcoder.com/acm/contest/50/B 来源:牛客网 题目描述 tabris实在是太穷了,为了发财,tabris去买了一张彩票,幸运地中了特别奖. ...

  8. 科林明伦杯”哈尔滨理工大学第十届程序设计竞赛B(减成1)

    科林明伦杯"哈尔滨理工大学第十届程序设计竞赛 存在n个数,每次操作可以任选一个区间使得区间内的所有数字减一.问最少多少次操作,可以让所有数都变成1. 数据保证一定有解. 输入描述: 输入t, ...

  9. “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛) 题解

    "科林明伦杯"哈尔滨理工大学第十届程序设计竞赛(同步赛) 题解 萌新又来写题解啦 原题链接 B 减成一 题意:存在n个数,每次操作可以任选一个区间使得区间内的所有数字减一.问最少多 ...

最新文章

  1. OpenCV中图像Mat,二维指针和CxImage类之间的转换
  2. Cer Crt Pem Pfx 证书格式转换
  3. UDP转TCP隧道工具udptunnel
  4. c调用python打包_如何将C++的API封装成python可调用形式?
  5. PHP反序列化漏洞总结
  6. Android 极广推送接入
  7. 交换机应用之端口模式(access、trunk和hybird)、是否标记(tag、untag)、端口缺省vlan(pvid、native id)...
  8. android JNI(转)
  9. 交叉编译Python-2.7.13到ARM(aarch32)平台
  10. hdu 1542 Atlantis (线段树+扫描线)
  11. 阿里云泄露 40 家名企源代码!
  12. springboot的三种启动方式
  13. Android 里的adb命令
  14. 2d模型文件_Supergiant美术师:如何将2D美术做成3D游戏模型?
  15. 【蓝桥杯省赛学习题Java】座次问题
  16. 使用matplotlib绘制xkcd动漫风格的图表(解决中文字体问题)
  17. echarts使用e_macarons方法
  18. Chrome 实用渗透测试插件合集
  19. c语言欺凌,《中国校园欺凌调查报告》发布 语言欺凌占主导
  20. 做网站SEO优化每天都做什么

热门文章

  1. 《怦然心动》阅读笔记
  2. Tagged Pointer 对象安全气垫为何会失效
  3. 幸福人生讲座(三):教育的本质是什么?
  4. BPR实施中常用的五大手法
  5. 【大学物理】期末不挂科复习笔记
  6. Ubuntu 10.10 无线鼠标左键失灵问题
  7. 如何批量注册推特账号
  8. 网页内快捷键响应代码示例
  9. VUE-Element组件(二)NavMenu导航菜单
  10. Linux命令学习压缩打包