苦逼的单身狗(玄乎的尺取大法)

2023-12-22 19:50
文章标签 单身 大法 尺取 玄乎

本文主要是介绍苦逼的单身狗(玄乎的尺取大法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

链接:https://www.nowcoder.com/acm/contest/27/F

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

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

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

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

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

输入描述:

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

输出描述:

输出结果,并换行。

示例1

输入

3
ILOVEACM
LOVELOVE
ALBECVOD

输出

8
15
4
分析:我们可以发现当区间满足条件的时候,这个区间的贡献为(n-en+1),依据这点可以减少时间复杂度,只要搜索道满足条件即可,
不满足条件我就en指针右移动,满足条件st指针我就左移动同时记录可能性(n-en+1),在移动的过程中记录出现字母的次数,从而达到查看区间是否满足条件,结束条件是en<=n(字符串的个数)
#include<stdio.h>
#include<string.h>
#include<map>
#define ll long long
using namespace std;
map<char,ll>mp;
char ch[110000];
int main()
{int t;scanf("%d",&t);while(t--){for(int i=0 ; i<=26 ; i++)mp['A'+i]=0;ll ans=0;getchar();scanf("%s",ch);int n=strlen(ch);int st=0,en=0;while(en<=n){if(mp['L']==0){mp[ch[en]]++;en++;}else if(mp['O']==0){mp[ch[en]]++;en++;}else if(mp['V']==0){mp[ch[en]]++;en++;}else if(mp['E']==0){mp[ch[en]]++;en++;}else{ans+=n-en+1;mp[ch[st]]--;st++;}}printf("%lld\n",ans);}
}
View Code

 

转载于:https://www.cnblogs.com/shuaihui520/p/9025211.html

这篇关于苦逼的单身狗(玄乎的尺取大法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/525247

相关文章

10步大法教你搭建自己的Gitlab代码仓库

1.前置条件 你得有一个搭载Centos7 + 以上版本的虚拟机。不会的可以参考,搭建Centos7 linux系统。 2.准备远程工具 也就是连接Linux服务器的远程工具,例如:xshell、fianlShell等,与linux建立通讯后,接下来就是本文的重点了。 3.搭建阶段 1.配置yum源 step1:相当于新建一个文件,通过这个文件来安装gitlab,执行下面命

开机就能打?没那么玄乎!客观分析 “狂躁许可”漏洞(CVE-2024-38077)及其影响范围

一、事件背景 2024年7月9日,微软官方发布了一个针对“windows远程桌面授权服务远程代码执行漏洞”(CVE-2024-38077)的修复补丁包,起初并没有引起大家的警觉。今日在国外某网站上疑似漏洞的作者公开了该漏洞的“POC验证代码”。一时激起千层浪,该漏洞开始疯狂发酵并在安全圈里转发。 该文章的原文链接为: https://sites.google.com/site

爱奇艺的数据库选型大法,实用不纠结!

点击上方“朱小厮的博客”,选择“设为星标” 后台回复”加群“加入公众号专属技术群 来源:rrd.me/fgGsG 我们进行数据库选型的时候要考虑哪些问题?有哪些需求?待选用的数据库是否和需求对得上?是不是直接可以拿来用?需不需要一些额外的开发?这些都会在本文的分享中提及。 一、数据库技术选型的思考维度 我们做选型的时候首先要问: 谁选型?是负责采购的同学、 DBA 还是业务研发? 如果选型的是

树莓派手动指定静态IP和DNS 终极解决大法

在把玩树莓派的过程中,往往需要手动给它设定一个静态的IP地址,一来可以防范DHCP自动分配的IP来回变动,导致远程SSH时常无法连接;二来还可以提高树莓派的网络连接速度。 对此菲菲君在网上查了很多资料,大多数方法都是修改 /etc/network/interfaces 配置文件,增加静态IP的设定。的确对于 Debian 系的 Linux 系统来说,不都是这样修改滴嘛? 不过马上就发现了

Webpack大法之Code Splitting

Code Splitting是什么?即将代码分成很多块,需要哪块时加载哪块,以加块网页的加载速度。该方法与之前将所有代码打包成一个单独的JS文件很不同。 具体如何实现,请阅读全文:Webpack大法之Code Splitting 了解更多前沿技术资讯,获取深度技术文章推荐,请关注CSDN研发频道微博。 欢迎加入“CSDN前端开发者”群,与更多专家、技术同行进行热点、难点技术交流。

模型调参大法,让你的模型更进一步!

大家好,我是 Bob! 😊 一个想和大家慢慢变富的 AI 程序员💸 分享 AI 前沿技术、项目经验、面试技巧! 欢迎关注我,一起探索,一起破圈!💪 模型调参 首先需要牢记一个点:模型选型和数据质量决定了任务的底线,而调参只是锦上添花(也可能雪上加霜)的工作 所以优先考虑模型与数据,再考虑微调,能不调就不调。 模型与数据 任务 首先要明确任务是分类、回归、生成、排

ctfshow web 单身杯

web签到 <?phperror_reporting(0);highlight_file(__FILE__);$file = $_POST['file'];if(isset($file)){if(strrev($file)==$file){ //翻转函数include $file;}} 要进行反转并且包含文件用data协议 自己写不好写可以用函数帮你翻转 <?php $a='data

周末学了个“吸英大法”

曦曦粉丝会视频链接: https://v.qq.com/x/page/o3010zxz73y.html 周末闲看微信时,看到了上面这个视频,一个 4 岁的小孩,面对一群大人提出的人问题,回答得头头是道,燃起了我的好奇心:一个还没上学的小孩竟然知道这么多东西,是怎么学会的?而且看起来小孩看起来很快乐,很享受这个过程,是不是在学习的时候也是这种愉快的状态?小孩的父母是什么人,怎么培养小孩的?。。

算法解析——单身狗问题

欢迎来到博主的专栏:算法解析 博主ID代码小豪 文章目录 什么是单身狗问题leetcode_136——只出现一次的数字I使用位运算解决单身狗问题。 leetcode_137——只出现一次的数字II统计二进制数解决单身狗问题leetcode_260 只出现一次数字III分区域按位异或解决问题。 总结 什么是单身狗问题 最近也是度过了5.20和儿童节这两个单身狗受难日,由于这两天学

leetcode#70爬楼梯-数学大法好

问题是n阶楼梯要爬,每次可以走1步或者2步,问爬到n阶,一共有多少种方法。 其实就是整数n拆分成若干个1和2的求和,假设n阶有Sn种方法,那么Sn可能是怎么来的呢,就是Sn-1再+1,或者Sn-2再+2,所以划分为子问题,Sn=Sn-1 + Sn-2. class Solution { public:     int climbStairs(int n) {         vector