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

PTA模拟+数学分析

作者 李曲

单位 浙江工业大学

生物学家发现了一种奇怪的DNA分子,最好用集合{A,B}中的N个字符序列来描述。一个不太可能的突变序列导致了一条由A‟s组成的DNA链。生物学家发现这很奇怪,所以他们开始更详细地研究突变。

他们发现了两种类型的突变。一种类型导致改变序列的单个字符(A→B还是B→A) 。第二种类型更改序列的整个前缀,特别是用另一个字符(A替换B,B替换A)替换从1到K位置的所有字符(对于1和N之间的一些K,包括)。

计算可能将起始分子转化为终态(仅包含一个字符)的最小突变数。突变可以以任何顺序发生。

输入格式:

输入的第一行包含正整数N(1≤N≤1000),表示分子的长度。

第二行输入包含一个包含N个字符的字符串,每个字符可以是A或B。

这个字符串代表分子的起始状态。

输出格式:

第一行输出必须包含所需的最小突变数。

输入样例1:

4
ABBA

输出样例1:

2

输入样例2:

5
BBABB 

输出样例2:

2

输入样例3:

12
AAABBBAAABBB

输出样例3:

4

注意要点:如果有连续两个B就区间翻转,否则只翻转单个字符。

把字符串翻转,然后从前往后跑,模拟翻转。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl "\n"ll n;
string s;void solve(){cin >> n >> s;reverse(s.begin(),s.end());ll sum=0,c=0;//c为翻转次数for(ll i = 0 ; i < s.size() ; i ++){if(s[i] == 'B' && s[i+1] == 'B' && c%2 == 0){sum++;c++;}else if(s[i] == 'A' && s[i+1] == 'A' && c%2 == 1){sum++;c++;}else if(s[i] == 'B' && c%2 == 0){sum++;}else if(s[i] == 'A' && c%2 == 1){sum++;}}cout << sum << endl;return;
}int main(){ll t=1;//cin >> t;while(t--)solve();return 0;
}

相关文章:

  • Linux中的文件类型
  • 分享常用的62 个九宫格抽奖及各种宫格效果源码
  • 【Linux】Centos7上安装MySQL5.7
  • phpstudy自定义安装mysql8.3并启动
  • Seata中四种模式的适用场景
  • Atomsk球形化合物建模方法
  • MySQL---索引
  • JS原型和原型链的理解
  • CSP - X - 2023 普及组初赛试题及解析
  • uniapp移动端 IOS系统下无法与webview通信
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Span)
  • c语言文件操作(中)
  • Android 14.0 SystemUI设置系统导航栏默认为系统手势导航
  • Selenium库原代码WebDriver及WebElement方法属性总结
  • C语言入门学习 --- 7.结构体
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • Druid 在有赞的实践
  • HTML-表单
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • leetcode-27. Remove Element
  • LeetCode29.两数相除 JavaScript
  • maya建模与骨骼动画快速实现人工鱼
  • MQ框架的比较
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • node-glob通配符
  • Nodejs和JavaWeb协助开发
  • oldjun 检测网站的经验
  • Python实现BT种子转化为磁力链接【实战】
  • v-if和v-for连用出现的问题
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 使用agvtool更改app version/build
  • 通过npm或yarn自动生成vue组件
  • 物联网链路协议
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 函数计算新功能-----支持C#函数
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 正则表达式-基础知识Review
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​MySQL主从复制一致性检测
  • (70min)字节暑假实习二面(已挂)
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (三)uboot源码分析
  • (转)EOS中账户、钱包和密钥的关系
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • ***检测工具之RKHunter AIDE
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .net core 连接数据库,通过数据库生成Modell
  • .NET DataGridView数据绑定说明
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET MVC 验证码
  • .Net 代码性能 - (1)