第六届传智杯第四题(abb)

2023-11-29 12:12
文章标签 第四 传智杯 第六届 abb

本文主要是介绍第六届传智杯第四题(abb),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

描述

leafee 最近爱上了 abb 型语句,比如“叠词词”、“恶心心”

leafee 拿到了一个只含有小写字母的字符串,她想知道有多少个 "abb" 型的子序列?
定义: abb 型字符串满足以下条件:

  1. 字符串长度为 3 。
  2. 字符串后两位相同。
  3. 字符串前两位不同。

输入描述:

第一行一个正整数 n

第二行一个长度为 n 的字符串(只包含小写字母)

1≤n≤10^5

输出描述:

"abb" 型的子序列个数。

示例1

输入:

6
abcbcc

输出:

8

说明:

共有1个abb,3个acc,4个bcc

示例2

输入:

4
abbb

输出:

3

a[i][j]:表示 i 后出现了 n 次字母'j';

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n=scan.nextInt();long ans=0;String str=scan.next();int[][] a=new int[n+1][26];for(int i=n-1;i>=0;i--){char s=str.charAt(i);for(int j=0;j<26;j++){a[i][j]=a[i+1][j];}a[i][s-'a']++;}for(int i=0;i<n;i++){char ss=str.charAt(i);for(int j=0;j<26;j++){if(j!=ss-'a'&&a[i][j]>=2){ans+=(a[i][j]*(a[i][j]-1))/2;}}}System.out.println(ans);}
}

这篇关于第六届传智杯第四题(abb)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/432785

相关文章

项目实战系列三: 家居购项目 第四部分

购物车 🌳购物车🍆显示购物车🍆更改商品数量🍆清空购物车&&删除商品 🌳生成订单 🌳购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量+1, 并显示 程序框架图 1.新建src/com/zzw/furns/entity/CartItem.java, CartItem-家居项模型 /***

C语言深度剖析--不定期更新的第四弹

哈哈哈哈哈哈,今天一天两更! void关键字 void关键字不能用来定义变量,原因是void本身就被编译器解释为空类型,编译器强制地不允许定义变量 定义变量的本质是:开辟空间 而void 作为空类型,理论上不应该开辟空间(针对编译器而言),即使开辟了空间,也只是作为一个占位符看待(针对Linux来说) 所以,既然无法开辟空间,也无法作为正常变量使用,既然无法使用,干脆编译器不让它编译变

我们依旧在追梦的路上-山东省第六届ACM比赛总结

这场比赛从结果而言达到了预期(金牌),从过程而言和我的预期相差甚远(打的太乱,个人发挥很差),还好关键时刻队友抗住压力,负责后果真的不堪设想。 热身赛 热身赛纯粹测机器的,先把A,B,C草草水过(A题小写x打成大写的也是醉了),我和老高开始各种测机器,long long不出所料是lld的,试了一下除0和数组越界的re问题,发现没有re,只有wa(甚至数组越界还AC了),至于栈深的话也没过多追

C1-2 ABB二次SDK开发——手把手教登录对应的机器人控制器(图片引导操作)登录机器人控制器和刷新机器人列表

1.完成配置后我们开始进行操作 C1-1 ABB二次SDK开发——C#Window窗体-环境配置(带ABB二次开发SDK资源包)-CSDN博客文章浏览阅读95次。3.记住路径,右键C#引用,然后导入ABB.Robotics.Controllers.PC.dll。2.安装资源文件PCABB二次开发的SDK,并打开安装路径。1.新建VSC#的windowfrom项目。4.在框架代码主界面代码中添加。

C1-1 ABB二次SDK开发——C#Window窗体-环境配置(带ABB二次开发SDK资源包)

一.使用Visual Stdio创建一个项目 1.新建VSC#的windowfrom项目 2.安装资源文件PCABB二次开发的SDK,并打开安装路径 3.记住路径,右键C#引用,然后导入ABB.Robotics.Controllers.PC.dll 4.在框架代码主界面代码中添加 using ABB.Robotics.Controllers;using ABB.Roboti

P7492 [传智杯 #3 决赛] 序列

*原题链接* 一道类似势能线段树的题,区间按位或上k,不满足区间可合并的性质,只能暴力的单点修改。 但是考虑按位或的性质,一个数或上另一个数,只会变大或不变,如果我们能找到一个方法,能够判定区间里的数,或上k后是否有改变,就可以避免的暴力了。我一开始想的是线段树里维护一个的数组,表示区间内所有数的二进制表示下某一位是否为1,但这太难写,最后无奈去看官方题解,发现只要维护区间所有数的按位与和An

第四讲:拟合算法

与插值问题不同,在拟合问题中不需要曲线一定经过给定的点。拟合问题的目标是寻求一个函数(曲线)使得该曲线在某种准则下与所有的数据点最为接近,即曲线拟合的最好(最小化损失函数)。 插值算法中,得到的多项式f(x)要经过所有样本点。但是如果样本点太多,那么这个多项式次数过高,会造成龙格现象。 尽管我们可以选择分段的方法避免这种现象,但是更多时候我们更倾向于得到-个确定的曲线,尽管这条曲线不能经过每

(第四十天)配置完整的考试系统,完成前端和后端并优化,mysql后端,nginx前端,java连接

回顾 1 、使用 harbor 仓库 python --version yum -y update yum -y install python2-pip pip install --upgrade pip == 20 .3 -i ....... pip install docker-compose -i .......

小白Sass教程---通过实例学Sass--第四讲--属性嵌套

CSS规则在sass中可以进行嵌套,css属性也可以进行嵌套,属性嵌套的规则是: 有中横线的属性可以拆解嵌套,以中横线为界限进行拆解,依次嵌套 废话不多说,直接上代码: .lesson3-demo2{.box{height: 100px;width: 800px;padding: {top: 20px;left: 30px;}border: {left: 5px solid #3da7f5

sqli-libs第四关详解

首先判断是数字型注入还是字符型注入 正常显示,说明是字符型注入,那么尝试单引号闭合 还是正常显示,尝试双引号闭合 有报错信息,含有括号,这时就应该想到,sql代码是("$id")这样写的了。直接采取闭合,判断字段数。 4不行,那就是3个字段,再看看哪些地方可以显示数据,把数据库名和版本也搞出来 后面就是利用information_schema这个库查询信息了,先看看s