这道题是安徽NOI省选题,但是难度并没有那么难。

这道题是一个字符串的递归题,有很多大佬用线段树来写的(我也想学线段树,lowbit当头一棒)。题意为全部相同则输出B或A,不同则分成长度相同的两个子串,并输出C。看到这个便很容易想到递归加二分,但是如何去写上面的函数呢?我顿时想退缩,然后得出策略:枚举子串,假如有不同的则递归二分输出C,直到相同输出A、B。

1.避免出现低级错误,eg.string s[],(mid+1,left),,会耽误很多调试时间

2.熟练运用递归的二分

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#define N 100001
using namespace std;
string s;//!
bool flag;
void work(int left,int right){
flag=true;
int mid=(left+right)/;
for(int i=left+;i<=right;i++){
if(s[i]!=s[i-]){
flag=false;
break;
}
}
if(flag==false){
cout<<"C";
work(left,mid);
work(mid+,right);//!
return;
}
if(flag==true){
if(s[left]=='') cout<<"A";
else if(s[left]=='') cout<<"B";
}
return;
}
int main(){
cin>>s;
int len=s.length();
work(,len-);//!
return ;
}

P2562kitty猫基因的更多相关文章

  1. 洛谷—— P2562 [AHOI2002]Kitty猫基因编码

    P2562 [AHOI2002]Kitty猫基因编码 题目描述 小可可选修了基础生物基因学.教授告诉大家 Super Samuel 星球上 Kitty猫的基因的长度都是 2 的正整数次幂 ), 全是由 ...

  2. 洛谷 P2562 [AHOI2002]Kitty猫基因编码

    P2562 [AHOI2002]Kitty猫基因编码 题目描述 小可可选修了基础生物基因学.教授告诉大家 Super Samuel 星球上 Kitty猫的基因的长度都是 2 的正整数次幂 ), 全是由 ...

  3. Kitty猫基因编码

    原题链接:https://www.luogu.org/problemnew/show/2562#sub 简单的递归题.记录一下前缀和然后二分求解就好. 参考代码: #include <iostr ...

  4. 使用limma、Glimma和edgeR,RNA-seq数据分析易如反掌

    使用limma.Glimma和edgeR,RNA-seq数据分析易如反掌 Charity Law1, Monther Alhamdoosh2, Shian Su3, Xueyi Dong3, Luyi ...

  5. 猫哥网络编程系列:HTTP PEM 万能调试法

    注:本文内容较长且细节较多,建议先收藏再阅读,原文将在 Github 上维护与更新. 在 HTTP 接口开发与调试过程中,我们经常遇到以下类似的问题: 为什么本地环境接口可以调用成功,但放到手机上就跑 ...

  6. 猫哥网络编程系列:详解 BAT 面试题

    从产品上线前的接口开发和调试,到上线后的 bug 定位.性能优化,网络编程知识贯穿着一个互联网产品的整个生命周期.不论你是前后端的开发岗位,还是 SQA.运维等其他技术岗位,掌握网络编程知识均是岗位的 ...

  7. 基因匹配(bzoj 1264)

    Description 基因匹配(match) 卡卡昨天晚上做梦梦见他和可可来到了另外一个星球,这个星球上生物的DNA序列由无数种碱基排列而成(地球上只有4种),而更奇怪的是,组成DNA序列的每一种碱 ...

  8. 搭建自己私有的PKM系统,各家PKM大比拼。。附:构建自己熟悉的基础Docker,破解联通光猫

    Docker这容器真是很好玩!干啥都想上docker了,快疯了. 这不,最近wiz笔记开始收费,很是不爽,需要寻求新的PKM系统了.备选及落选理由如下: wiz笔记 -- 好用,顺手.要开始收费了,不 ...

  9. 深圳电信光纤用户必备:简单破解中兴ZXA10 F460光电猫,实现WIFI和自动拨号功能

    最近搬家,ADSL转成光纤宽带,下载速度非常给力.原来的ADSL路由器派不上用场,电信的安装人员也给开通了wifi功能,只是wifi无法上网,而且拨号一定需要用电脑连网线进行拨号.以前是直接把拨号账户 ...

随机推荐

  1. time时间库使用示例

    time时间库主要有以下几个方法 1. 生成struct_time ,然后就可以很方便的获取到年月日,时分秒等信息 time.localtime() 2. 生成时间戳 time.time() 3. 将 ...

  2. springboot 出现异常 java.net.BindException: Address already in use: bind

    java.net.BindException: Address already in use: bind

  3. 为什么second是秒也是第二?

    起源 早期在西方,一小时分为 60 分钟.后来,科学发达了.文明进步了,人们认为一分钟太粗放了.必须划分得更细致,于是就把一分钟划分成 60 等分.由于是对时间的第二次划分,就将新的 60 等分的“单 ...

  4. jetcache:在Spring Boot中怎么玩?

  5. 【方法】原生js实现方法ajax封装

    /* 参数说明* type[String] 请求方式('POST'或'GET') 默认设置'GET'方式* dataType[String] 获取到的后台数据格式 默认'JSON'格式* async[ ...

  6. python 线程模块

    Python通过两个标准库thread和threading提供对线程的支持.thread提供了低级别的.原始的线程以及一个简单的锁. threading 模块提供的其他方法: threading.cu ...

  7. 用Java 实现断点续传 (HTTP)

    在web项目中上传文件夹现在已经成为了一个主流的需求.在OA,或者企业ERP系统中都有类似的需求.上传文件夹并且保留层级结构能够对用户行成很好的引导,用户使用起来也更方便.能够提供更高级的应用支撑. ...

  8. HDU 6578 Blank

    hdu题面 Time limit 1000 ms Memory limit 262144 kB OS Windows Source 2019 Multi-University Training Con ...

  9. WebView:是应用程序打开web网页的UI控件后端

    public class WebViewActivity extends Activity { private WebView webView; @Override protected void on ...

  10. 将数据库中带出的列,在gridview中影藏起来

    前台增加事件:OnRowCreated="GridView1_RowCreated" protected void GridView1_RowCreated(object send ...