题目链接

这个题我一开始显然直接暴力

然后30分(但是应用数据分治的我通过复杂度判断并且其余输出0的能力硬生生的拿下了60分)

主要还是讲正解

这里有一个结论

这样一个图,红点的值可以通过两个黄点来判断

我们有数学归纳法可以推广到3k+1

这样我们就可以用类似于LCA的倍增思想写出代码

#include<cstdio>
#include<iostream>
#include<queue>
#include<cstring>
using namespace std;
inline int read() {
int ans=;
char last=' ',ch=getchar();
while(ch>''||ch<'') last=ch,ch=getchar();
while(ch>=''&&ch<='') ans=(ans<<)+(ans<<)+ch-'',ch=getchar();
if(last=='-') ans=-ans;
return ans;
}
int n,l;
char a[];
int three[]= {,,,,,,,,,,,,,,};
int main() {
n=read();
scanf("%s",a+);
int len=strlen(a+);
while(len>) {
for(int i=; i>=; i--) if(three[i]<=len) {
l=three[i];
break;
}
for(int i=; i<=len-l+; i++) {
if(a[i]==a[i+l-]) continue;
if(a[i]=='B'&&a[i+l-]=='G') {
a[i]='R';
continue;
}
if(a[i]=='B'&&a[i+l-]=='R') {
a[i]='G';
continue;
}
if(a[i]=='G'&&a[i+l-]=='B') {
a[i]='R';
continue;
}
if(a[i]=='G'&&a[i+l-]=='R') {
a[i]='B';
continue;
}
if(a[i]=='R'&&a[i+l-]=='B') {
a[i]='G';
continue;
}
if(a[i]=='R'&&a[i+l-]=='G') {
a[i]='B';
continue;
}
}
len=len-l+;
}
printf("%c",a[]);
}

【洛谷T89353 【BIO】RGB三角形】的更多相关文章

  1. 【题解】洛谷P3166 [CQOI2014] 数三角形(组合+枚举)

    洛谷P3166:https://www.luogu.org/problemnew/show/P3166 思路 用组合数求出所有的3个点组合(包含不合法的) 把横竖的3个点共线的去掉 把斜的3个点共线的 ...

  2. 【洛谷P1118】数字三角形

    数字三角形 题目链接 4 16 3 1 2 4 3 1 2 4 (3+1) (1+2) (2+4)(3+1+1+2) (1+2+2+4) (3+1+1+1+2+2+2+4)16=1*3+3*1+3*2 ...

  3. 洛谷P3166 [CQOI2014]数三角形

    题目描述 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个.下图为4x4的网格上的一个三角形.注意三角形的三点不能共线. 输入输出格式 输入格式: 输入一行,包含两个空格分隔的正整数m和n ...

  4. BZOJ3505 & 洛谷P3166 [Cqoi2014]数三角形 【数学、数论】

    题目 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个.下图为4x4的网格上的一个三角形. 注意三角形的三点不能共线. 输入格式 输入一行,包含两个空格分隔的正整数m和n. 输出格式 输出 ...

  5. 洛谷 [P1118] IOI1994 数字三角形

    简单dfs 我们注意到,题目中的运算方式与杨辉三角极其相似,所以说本题实际上是一道加权的杨辉三角,搜索系数 #include <iostream> #include <cstdio& ...

  6. 洛谷—— P1118 [USACO06FEB]数字三角形Backward Digit Su…

    https://www.luogu.org/problem/show?pid=1118#sub 题目描述 FJ and his cows enjoy playing a mental game. Th ...

  7. 洛谷 题解 P1284 【三角形牧场】

    状态: dp[i][j]表示用i和j的木板能否搭成,不用去管第三块,因为知道了两块的长度与周长,那就可以表示出第三块:c-i-j 转移 有点类似于背包 if((j-l[i]>=0&&am ...

  8. 洛谷P1118 [USACO06FEB]数字三角形`Backward Digit Su`…

    #include<iostream> using namespace std ; ; int y[N][N]; int n; int a[N]; bool st[N]; int sum; ...

  9. T89353 【BIO】RGB三角形

    T89353 [BIO]RGB三角形 题解 对于这个题目有一个规律:  如果一个数列的长度为 3k+1(0<=k) 那么,这个数列最终缩放成的一个字母只和这个数列的首项,尾项有关 所以我们可以先 ...

随机推荐

  1. 082、数据收集利器 cAdvisor (2019-04-30 周二)

    参考https://www.cnblogs.com/CloudMan6/p/7683190.html   cAdvisor 是google 开发的容器监控工具,下面我们开始安装和体验 cAdvisor ...

  2. 吴恩达深度学习:2.12向量化logistic回归

    1.不使用任何for循环用梯度下降实现整个训练集的一步迭代. (0)我们已经讨论过向量化如何显著加速代码,在这次视频中我们会设计向量化是如何实现logistic回归,这样酒桶同时处理m个训练集,来实现 ...

  3. P多行溢出省略号的处理

    因为-webkit-line-clamp: 2不兼容火狐或IE,采用判断浏览器的方式来启用哪个方式 先判断是什么浏览器 //判断是否是谷歌浏览器 if (!stripos($_SERVER[" ...

  4. 在django项目中,单独运行python文件

    在from models import * 上面加上以下代码 import os; os.environ.setdefault("DJANGO_SETTINGS_MODULE", ...

  5. python-函数2(调用)

    python-函数2(调用) 1.实参和形参调用 2.默认调用 3.参数驵调用 1.实参和形参调用 def test5(x,y): #形参 print(x) print(y) y=1 x=2 test ...

  6. 在centOS7.2上编译gcc4.1.2

    1.下载安装gcc4.1.2安装包  wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2 注:其他版本的安装包可以在上级目录寻找到. ...

  7. Centos 7 SSh--端口号的更改

    前言:开启某服务或软件的端口,要从该服务或软件监听的端口(多以修改配置文件为主),SeLinux和防火墙(FireWall)的安全策略下手.如果使用阿里云,腾讯等第三方服务器还需要对管理控制台的安全组 ...

  8. python修炼之路——控制语句

    Python编程之print python2.x和python3.x的print函数区别:python3.x的print函数需要加括号(),python2.x可以不加. #-*- coding:utf ...

  9. day_05 运算符 if和while的使用

    运算符: 1)算术运算符 + - * / %(取余) //(地板除,取整)**(幂运算) ,返回一个值 2)比较运算符 3) > >= < <= ==(比较值是否相等) !=( ...

  10. [LOJ 6704] 健身计划

    问题描述 九条可怜是一个肥胖的女孩. 她最近长胖了,她想要通过健身达到减肥的目的,于是她决定每天做n次仰卧起坐以达到健身的目的. 她可以将这n次动作分为若干组完成,每一次完成ai次仰卧起坐,每做完一次 ...