P2562 [AHOI2002]Kitty猫基因编码

题目描述

小可可选修了基础生物基因学。教授告诉大家 Super Samuel 星球上 Kitty猫的基因的长度都是 2 的正整数次幂 ), 全是由两种不同的基因单元组成的。 这两种不同的基因单元分别记成 0 和 1,于是 Kitty 猫基因可以写成一个 01 串表达式 。

为了便于分析和降低数据存储量,教授发明了 ABC 编码规则。该编码规则是不断地按照

对 Kitty 猫基因 01 串表达式 进行改写, 直至最终被改写成只含有字符 “ A”、“ B”、“ C”的符号串。

请你编写程序帮助小可可求出 Kitty 猫基因的 ABC 编码以协助教授开展科研工作。

输入输出格式

输入格式:

文件中以一行的形式存放了一个 Kitty 猫基因的 01 串表达式。

输出格式:

以一行的形式输出这个 Kitty 猫基因的 ABC 编码。

输入输出样例

输入样例#1: 复制

  1. 00
输出样例#1: 复制

  1. A
输入样例#2: 复制

  1. 01001011
输出样例#2: 复制

  1. CCCABACCBAB

dfs

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<iostream>
  4. #include<algorithm>
  5. #define N 100100
  6. using namespace std;
  7. int l,sum;
  8. char ch[N],ans[N],w,q;
  9. int read()
  10. {
  11. ,f=; char ch=getchar();
  12. ;ch=getchar();}
  13. +ch-',ch=getchar();
  14. return x*f;
  15. }
  16. void dfs(int a,int b,int e)
  17. {
  18. if(a>b) return ;
  19. w=q=ch[a];
  20. ;i<=b;i++)
  21. if(ch[i]!=w) {
  22. q=ch[i];break;
  23. }
  24. if(q==w)
  25. {
  26. ') ans[++sum]='A';
  27. else ans[++sum]='B';
  28. &&e<=l&&b+<=e) dfs(b+,e,e<<);
  29. &&e<=l) dfs(b+,e,e*-l/);
  30. }
  31. else
  32. {
  33. ans[++sum]='C';
  34. ,b);
  35. }
  36. }
  37. int main()
  38. {
  39. cin>>ch+;l=strlen(ch+);
  40. dfs(,l,l);
  41. ;i<=sum;i++)
  42. printf("%c",ans[i]);
  43. ;
  44. }

40分代码、、

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<iostream>
  4. #include<algorithm>
  5. #define N 100100
  6. using namespace std;
  7. int l,sum;
  8. char ch[N],ans[N],w,q;
  9. int read()
  10. {
  11. ,f=; char ch=getchar();
  12. ;ch=getchar();}
  13. +ch-',ch=getchar();
  14. return x*f;
  15. }
  16. void dfs(int a,int b,int e)
  17. {
  18. if(a>b) return ;
  19. w=q=ch[a];
  20. ;i<=b;i++)
  21. if(ch[i]!=w) {
  22. q=ch[i];break;
  23. }
  24. if(q==w)
  25. {
  26. ') ans[++sum]='A';
  27. else ans[++sum]='B';
  28. }
  29. else
  30. {
  31. ans[++sum]='C';
  32. ;
  33. dfs(a,mid,mid-a+);
  34. dfs(mid+,b,b-mid);
  35. }
  36. }
  37. int main()
  38. {
  39. cin>>ch+;l=strlen(ch+);
  40. dfs(,l,l);
  41. ;i<=sum;i++)
  42. printf("%c",ans[i]);
  43. ;
  44. }

洛谷—— P2562 [AHOI2002]Kitty猫基因编码的更多相关文章

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

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

  2. Kitty猫基因编码

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

  3. 洛谷——P2556 [AHOI2002]黑白图像压缩

    P2556 [AHOI2002]黑白图像压缩 题目描述 选修基础生物基因学的时候, 小可可在家里做了一次图像学试验. 她知道:整个图像其实就是若干个图像点(称作像素)的序列,假定序列中像素的个数总是 ...

  4. 洛谷——P2559 [AHOI2002]哈利·波特与魔法石

    P2559 [AHOI2002]哈利·波特与魔法石 题目描述 输入输出格式 输入格式: 文件中第一行有七个数,分别是 S1. S2 . …. S7 :第二行有两个数,依次分别是起点城市 i 和终点城市 ...

  5. 洛谷P2556 [AHOI2002] 黑白图像压缩 [模拟]

    题目传送门 黑白图像压缩 题目描述 选修基础生物基因学的时候, 小可可在家里做了一次图像学试验. 她知道:整个图像其实就是若干个图像点(称作像素)的序列,假定序列中像素的个数总是 8 的倍数, 于是每 ...

  6. 洛谷 P2559 [AHOI2002]哈利·波特与魔法石

    P2559 [AHOI2002]哈利·波特与魔法石 题目描述 输入输出格式 输入格式: 文件中第一行有七个数,分别是 S1. S2 . …. S7 :第二行有两个数,依次分别是起点城市 i 和终点城市 ...

  7. 洛谷 P2558 [AHOI2002]网络传输

    P2558 [AHOI2002]网络传输 题目描述 在计算机网络中所有数据都是以二进制形式来传输的. 但是在进行较大数据的传输时,直接使用该数的二进制形式加以传输则往往传输的位数过多. 譬如要传输 1 ...

  8. 洛谷【P1140】相似基因

    浅谈\(DP\):https://www.cnblogs.com/AKMer/p/10437525.html 题目传送门:https://www.luogu.org/problemnew/show/P ...

  9. 洛谷P1140 相似基因 (DP)

    洛谷P1140 相似基因 题目背景 大家都知道,基因可以看作一个碱基对序列.它包含了44种核苷酸,简记作A,C,G,TA,C,G,T.生物学家正致力于寻找人类基因的功能,以利用于诊断疾病和发明药物. ...

随机推荐

  1. asp.net RDLC报表入门

    Asp.net RDLC 报表入门 这几天帮给同事讲解Asp.net RDLC 报表方面的知识,顺便做个简单教程,在这里分享给大家. 由于图片多又大,写了一半,光上传图片就把我累个半死,所以我教把程放 ...

  2. 【51NOD】消灭兔子

    [算法]贪心 #include<cstdio> #include<algorithm> #include<cstring> #include<queue> ...

  3. 彻底解决_OBJC_CLASS_$_某文件名", referenced from:问题

    最近在使用静态库时,总是出现这个问题.下面总结一下我得解决方法: 1. .m文件没有导入    在Build Phases里的Compile Sources 中添加报错的文件 2. .framewor ...

  4. webpack自动化构建你的项目

    1.读万卷书,行万里路. 2.书山有路勤为径,学海无涯苦作舟. 技术段: 相信很多刚接触前端的小伙伴,对一些自动化工具会感觉无可下手.现在前端的发展的势头,势必和后台形成一个对立面,独挡一面. 这篇文 ...

  5. Intel MKL(Math Kernel Library)

    1.Intel MKL简介 Intel数学核心函数库(MKL)是一套高度优化.线程安全的数学例程.函数,面向高性能的工程.科学与财务应用.英特尔 MKL 的集群版本包括 ScaLAPACK 与分布式内 ...

  6. python基础===Excel处理库openpyxl

    openpyxl是一个第三方库,可以处理xlsx格式的Excel文件. 安装: pip install openpyxl 对如下excel进行读取操作,如图: from openpyxl import ...

  7. Linux时间子系统之八:动态时钟框架(CONFIG_NO_HZ、tickless)【转】

    转自:http://blog.csdn.net/droidphone/article/details/8112948 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 数据结 ...

  8. C# 读写XML文件示例

    using System; using System.Collections.Generic; using System.Text; using System.Configuration; using ...

  9. 【bzoj1649】Cow Roller Coaster

    傻逼dp题. dp[i][j]表示用了i长度已花费成本j所能得到的价值. 然后枚举一下铁轨随便做了. 不行就sort一下. #include<bits/stdc++.h> #define ...

  10. 设计模式之笔记--桥接模式(Bridge)

    桥接模式(Bridge) 定义 桥接模式(Bridge),将抽象部分与它的实现部分分离,使它们都可以独立地变化. 类图 描述 Abstraction:定义抽象部分的接口,通常在这个接口里面要维护一个实 ...