【洛谷T89353 【BIO】RGB三角形】
这个题我一开始显然直接暴力
然后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三角形】的更多相关文章
- 【题解】洛谷P3166 [CQOI2014] 数三角形(组合+枚举)
洛谷P3166:https://www.luogu.org/problemnew/show/P3166 思路 用组合数求出所有的3个点组合(包含不合法的) 把横竖的3个点共线的去掉 把斜的3个点共线的 ...
- 【洛谷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 ...
- 洛谷P3166 [CQOI2014]数三角形
题目描述 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个.下图为4x4的网格上的一个三角形.注意三角形的三点不能共线. 输入输出格式 输入格式: 输入一行,包含两个空格分隔的正整数m和n ...
- BZOJ3505 & 洛谷P3166 [Cqoi2014]数三角形 【数学、数论】
题目 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个.下图为4x4的网格上的一个三角形. 注意三角形的三点不能共线. 输入格式 输入一行,包含两个空格分隔的正整数m和n. 输出格式 输出 ...
- 洛谷 [P1118] IOI1994 数字三角形
简单dfs 我们注意到,题目中的运算方式与杨辉三角极其相似,所以说本题实际上是一道加权的杨辉三角,搜索系数 #include <iostream> #include <cstdio& ...
- 洛谷—— P1118 [USACO06FEB]数字三角形Backward Digit Su…
https://www.luogu.org/problem/show?pid=1118#sub 题目描述 FJ and his cows enjoy playing a mental game. Th ...
- 洛谷 题解 P1284 【三角形牧场】
状态: dp[i][j]表示用i和j的木板能否搭成,不用去管第三块,因为知道了两块的长度与周长,那就可以表示出第三块:c-i-j 转移 有点类似于背包 if((j-l[i]>=0&&am ...
- 洛谷P1118 [USACO06FEB]数字三角形`Backward Digit Su`…
#include<iostream> using namespace std ; ; int y[N][N]; int n; int a[N]; bool st[N]; int sum; ...
- T89353 【BIO】RGB三角形
T89353 [BIO]RGB三角形 题解 对于这个题目有一个规律: 如果一个数列的长度为 3k+1(0<=k) 那么,这个数列最终缩放成的一个字母只和这个数列的首项,尾项有关 所以我们可以先 ...
随机推荐
- Homebrew学习(七)之你应该定期更新 Homebrew
参考 你应该定期更新 Homebrew
- 说说 MicroPython 的项目整体架构
今天来说说 MicroPython 的架构情况,如果有必要我会做一些源码分析的文章供大家参考. 先来认识一下 MicroPython 整体情况,可以从软件的角度上去看待,首先我们拿到 MicroPyt ...
- 一文简单理解package-lock.json
根据官方文档,https://docs.npmjs.com/files/package-lock.json 这个package-lock.json 是在 `npm install`时候生成一份文件,用 ...
- 2019.10.17 CCSP自闭打铜
很幸运被珠姐第二次抓过来参加CCSP(第二次看xmk夺冠),不过今年的题目还是那么让人心肌梗塞呢(听题解的时候基本都能听懂也算是进步了8). 比赛前一天晚上躺在宾馆里,做梦梦见自己在打比赛,局面应该是 ...
- Zen Cart 138 在PHP5.3环境下出现的Fatal error: Cannot redeclare date_diff()
Zen Cart 138 在PHP5.3环境下出现的Fatal error: Cannot redeclare date_diff() in includes/functions/functions_ ...
- java poi 操作
Java POI 操作Excel(读取/写入) https://www.cnblogs.com/dzpykj/p/8417738.html Java操作Excel之Poi基本操作 https://my ...
- BZOJ3745 / SP22343 NORMA2 - Norma 分治,CDQ分治
要命的题目. 写法:分类讨论进行计算. 枚举过每一个\(mid\)的所有区间.对于左端点\(i∈[l, mid - 1]\),向左推并计算\([l,mid]\)范围内的最大\(/\)最小值. 然后右端 ...
- FCC 成都社区·前端周刊 第 6 期
01. JS 引擎 V8 v6.6 的更新 最新 v6.6 版本的 V8 JavaScript 引擎更新了方法 Function.prototype.toString(),改进了代码缓存机制.异步性能 ...
- pyqt5-QTDesigner--UI文件的使用方式
方式一:直接加载UI文件 from PyQt5.QtWidgets import QApplication, QWidget import sys class win(QWidget): def __ ...
- Nginx静态文件服务器配置方法
在Java开发以及生产环境中,最常用的web应用服务器当属Tomcat,尽管这只猫也能够处理一些静态请求,例如图片.html.样式文件等,但是效率并不是那么尽人意.在生产环境中,我们一般使用Nginx ...