当前位置: 首页 > news >正文

语言月赛 202311【基因】题解(AC)

在这里插入图片描述
》》》点我查看「视频」详解》》》

[语言月赛 202311] 基因

题目描述

有一个长度为 n n n 的字符串 S S S。其只包含有大写字母。

小 A 将 S S S 进行翻转后,得到另一个字符串 S ′ S' S。两个字符串 S S S S ′ S' S 对应配对。例如说,对于 S = A T C G T S=\tt{ATCGT} S=ATCGT,则有 S ′ = T G C T A S'=\tt{TGCTA} S=TGCTA S S S S ′ S' S 进行配对。

对于两个字符串 S , S ′ S,S' S,S 的第 i i i 1 ≤ i ≤ n 1 \leq i \leq n 1in)个字母,配对规则如下:

  • 定义 A \tt A A T \tt T T C \tt C C G \tt G G 为可以配对的字母。
  • 如果 S i S_i Si S i ′ S_i' Si 为可以配对的字母,那么该字符串的稳定性增加 i i i
  • 如果 S i S_i Si 或者 S i ′ S_i' Si 中任意一方出现非 A , T , C , G \tt A,\tt T,\tt C,\tt G A,T,C,G 的字母,则整个字符串的稳定性将直接为 0 0 0

现在给定 T T T 个字符串 S S S,对每一个字符串,询问若用其翻转再进行配对,其稳定性将如何。

输入格式

第一行输入一个正整数 T T T,表示给定多少个字符串。对于每一个字符串:

  • 第一行输入一个正整数 n n n,表示字符串的长度;
  • 第二行输入一个字符串 S S S,表示该字符串。

输出格式

对于每个字符串,输出一行一个整数,表示若用其翻转再进行配对,其稳定性将如何。

样例 #1

样例输入 #1

3
5
ATCGT
6
ACATGT
5
ATCGU

样例输出 #1

6
21
0

提示

【样例解释】

  • 对于第一个字符串, S = A T C G T S=\tt{{A}TCG{T}} S=ATCGT S ′ = T G C T A S'=\tt{{T}GCT{A}} S=TGCTA。标红色的一组与蓝色的一组为可以配对的字母。它们分别是 S S S 的第 1 1 1 个字母和第 5 5 5 个字母,因此稳定性是 1 + 5 = 6 1+5=6 1+5=6
  • 对于第二个字符串, S = A C A T G T S=\tt{{A}{C}{A}{T}{G}{T}} S=ACATGT S ′ = T G T A C A S'=\tt{{T}{G}{T}{A}{C}{A}} S=TGTACA,每个对应位置上的字母都可以配对,因此稳定性是 1 + 2 + 3 + ⋯ + 6 = 21 1+2+3+\dots+6=21 1+2+3++6=21
  • 对于第三条字符串,出现了非 A , T , C , G \tt A,\tt T,\tt C,\tt G A,T,C,G 的字母 U \tt U U,因此稳定性为 0 0 0

【数据范围】

对于所有数据,保证: 1 ≤ T ≤ 5 1\leq T\leq 5 1T5 1 ≤ n ≤ 1 0 5 1\leq n\leq 10^5 1n105 S S S 中出现的所有字母保证为大写英语字母。

AC_Code

#include <bits/stdc++.h>
using namespace std;bool check1(char a)
{if(a != 'A' && a != 'T' && a != 'C' && a != 'G')return false;return true;
}bool check2(char a, char b)
{if(a == 'T' && b == 'A') return true;if(a == 'A' && b == 'T') return true;if(a == 'C' && b == 'G') return true;if(a == 'G' && b == 'C') return true;return false;
}int main()
{int t;cin >> t;while(t --){int n;string s1;cin >> n >> s1;string s2 = s1;reverse(s2.begin(), s2.end());long long tot = 0;for(int i = 0; i < s1.size(); i ++){if(!check1(s1[i]) || !check1(s2[i])){tot = 0;break;}if(check2(s1[i], s2[i]))tot += i + 1;}cout << tot << "\n";}return 0;
}

》》》点我查看「视频」详解》》》

相关文章:

语言月赛 202311【基因】题解(AC)

》》》点我查看「视频」详解》》》 [语言月赛 202311] 基因 题目描述 有一个长度为 n n n 的字符串 S S S。其只包含有大写字母。 小 A 将 S S S 进行翻转后&#xff0c;得到另一个字符串 S ′ S S′。两个字符串 S S S 与 S ′ S S′ 对应配对。例如说&#xff0c;对…...

unity学习26:用Input接口去监测: 鼠标,键盘,虚拟轴,虚拟按键

目录 1 用Input接口去监测&#xff1a;鼠标&#xff0c;键盘&#xff0c;虚拟轴&#xff0c;虚拟按键 2 鼠标 MouseButton 事件 2.1 鼠标的基本操作 2.2 测试代码 2.3 测试情况 3 键盘Key事件 3.1 键盘的枚举方式 3.2 测试代码同上 3.3 测试代码同上 3.4 测试结果 4…...

GB/T 43698-2024 《网络安全技术 软件供应链安全要求》标准解读

一、43698-2024标准图解 https://mmbiz.qpic.cn/sz_mmbiz_png/rwcfRwCticvgeBPR8TWIPywUP8nGp4IMFwwrxAHMZ9Enfp3wibNxnfichT5zs7rh2FxTZWMxz0je9TZSqQ0lNZ7lQ/640?wx_fmtpng&fromappmsg 标准在线预览&#xff1a; 国家标准|GB/T 43698-2024 相关标准&#xff1a; &a…...

ASP.NET Core与EF Core的集成

目录 分层项目中EF Core的用法 数据库的配置 数据库迁移 步骤汇总 注意&#xff1a; 批量注册上下文 分层项目中EF Core的用法 创建一个.NET类库项目BooksEFCore&#xff0c;放实体等类。NuGet&#xff1a;Microsoft.EntityFrameworkCore.RelationalBooksEFCore中增加实…...

【AI大模型】Ubuntu18.04安装deepseek-r1模型+服务器部署+内网访问

以下内容主要参考博文&#xff1a;DeepSeek火爆全网&#xff0c;官网宕机&#xff1f;本地部署一个随便玩「LLM探索」 - 程序设计实验室 - 博客园 安装 ollama Download Ollama on Linux curl -fsSL https://ollama.com/install.sh | sh 配置 ollama 监听地址 ollama 安装后…...

SpringAI系列 - 使用LangGPT编写高质量的Prompt

目录 一、LangGPT —— 人人都可编写高质量 Prompt二、快速上手2.1 诗人 三、Role 模板3.1 Role 模板3.2 Role 模板使用步骤3.3 更多例子 四、高级用法4.1 变量4.2 命令4.3 Reminder4.4 条件语句4.5 Json or Yaml 方便程序开发 一、LangGPT —— 人人都可编写高质量 Prompt La…...

Github - 记录一次对“不小心包含了密码的PR”的修复

Github - 记录一次对“不小心包含了密码的PR”的修复 前言 和好朋友一起开发一个字节跳动青训营抖音电商后端(now private)的项目&#xff0c;某大佬不小心把本地一密码commit上去并提了PR。 PR一旦发出则无法被删除&#xff0c;且其包含的commit也能被所有能看到这个仓库的…...

【玩转 Postman 接口测试与开发2_014】第11章:测试现成的 API 接口(下)——自动化接口测试脚本实战演练 + 测试集合共享

《API Testing and Development with Postman》最新第二版封面 文章目录 3 接口自动化测试实战3.1 测试环境的改造3.2 对列表查询接口的测试3.3 对查询单个实例的测试3.4 对新增接口的测试3.5 对修改接口的测试3.6 对删除接口的测试 4 测试集合的共享操作4.1 分享 Postman 集合…...

前后端通过docker部署笔记

项目背景&#xff1a;这是一个SpringBootvue3的项目&#xff0c;通过maven打包后&#xff0c;需要在Linux服务器上部署&#xff0c;本篇博客主要记录docker-compose.yaml文件的含义&#xff1a; docker-compose.yml 文件中定义了一个 algorithm_platform_frontend 容器&#…...

五十天精通硬件设计第四天-场效应管知识及选型

场效应管(FET,Field-Effect Transistor)是一种利用电场效应控制电流的半导体器件,广泛应用于放大、开关等电路中。以下是场效应管的基本知识及选型要点: 一、场效应管的基本知识 1. 类型: - **结型场效应管(JFET)**: - N沟道和P沟道两种类型。 - 栅极与…...

了解 ALV 中的 field catalog (ABAP List Viewer)

在 ABAP 中&#xff0c;字段目录是使用 ALV &#xff08;ABAP List Viewer&#xff09; 定义内部表中的数据显示方式的关键元素。它提供对 ALV 中显示的字段的各种属性的控制&#xff0c;例如列标题、对齐方式、可见性、可编辑性等。关键概念&#xff1a; Field Catelog 字段目…...

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之修改密码和个人资料

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【Spring篇】【计算机网络】【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 目录 &#x1f383;1.修改密码 -持久…...

十一、CentOS Stream 9 安装 Docker

一、Docker 环境安装 1、软件源(仓库)信息 使用如下命令可列出当前系统配置的所有软件源(仓库)信息 # 列出所有软件源 dnf repolist 这表明系统有三个仓库 AppStream 、 BaseOS、Extras-Common 被启用 2、配置软件源镜像 使用如下命令可配置 Docker 软件包下载的镜像地址 …...

FreeRTOS学习 --- 中断管理

什么是中断&#xff1f; 让CPU打断正常运行的程序&#xff0c;转而去处理紧急的事件&#xff08;程序&#xff09;&#xff0c;就叫中断 中断执行机制&#xff0c;可简单概括为三步&#xff1a; 1&#xff0c;中断请求 外设产生中断请求&#xff08;GPIO外部中断、定时器中断…...

如何在Intellij IDEA中识别一个文件夹下的多个Maven module?

目录 问题描述 理想情况 手动添加Module&#xff0c;配置Intellij IDEA的Project Structure 问题描述 一个文件夹下有多个Maven项目&#xff0c;一个一个开窗口打开可行但是太麻烦。直接open整个文件夹会发现Intellij IDEA默认可能就识别一个或者几个Maven项目&#xff0c;如…...

机器学习模型--线性回归、逻辑回归、分类

一、线性回归 级别1&#xff1a;简单一元线性回归&#xff08;手工实现&#xff09; import numpy as np import matplotlib.pyplot as plt# 生成数据 X np.array([1, 2, 3, 4, 5]) y np.array([2, 4, 5, 4, 5])# 手动实现梯度下降 def gradient_descent(X, y, lr0.01, epo…...

gitlab个别服务无法启动可能原因

目录 一、gitlab的puma服务一直重启 1. 查看日志 2. 检查配置文件 3. 重新配置和重启 GitLab 4. 检查系统资源 5. 检查依赖和服务状态 6. 清理和优化 7. 升级 GitLab 8. 查看社区和文档 二、 gitlab个别服务无法启动可能原因 1.服务器内存或磁盘已满 2.puma端口冲突…...

react的antd表格数据回显在form表单中

1、首先为table添加编辑按钮 {title: 操作,align: center,render: (_: any, record: any) > (<div style{{ display: flex, alignItems: center, justifyContent: space-evenly }}><Buttonsize"small"onClick{() > deitor(record)} style{{ margin…...

深度分析:网站快速收录与网站内容多样性的关系

本文转自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/87.html 网站快速收录与网站内容多样性之间存在着密切的关系。以下是对这一关系的深度分析&#xff1a; 一、网站内容多样性对快速收录的影响 提升搜索引擎抓取效率&#xff1a; 多样化的…...

feign 远程调用详解

在平常的开发工作中&#xff0c;我们经常需要跟其他系统交互&#xff0c;比如调用用户系统的用户信息接口、调用支付系统的支付接口等。那么&#xff0c;我们应该通过什么方式进行系统之间的交互呢&#xff1f;今天&#xff0c;简单来总结下 feign 的用法。 1&#xff1a;引入依…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...