链接:https://www.nowcoder.com/acm/contest/157/C
来源:牛客网题目描述PH试纸,是一种检测酸碱度的试纸,试纸红色为酸性,蓝色为碱性。               HtBest有一个PH试纸,试纸被分成了n段,每一段都可以被染色成红色或者蓝色,WHZ在试纸的每一段上都染为一种颜色,HtBest有m个询问,对于每个询问,Ta想知道某种颜色第qi次在什么地方出现。
输入描述:
第一行有两个正整数n,m。第二行有n个字母(‘R’或’B’),每个第i个字母表示PH试纸第i段的颜色。接下来m行,第i行有一个大写字母 ci(‘R’或’B’)和一个正整数qi ,用空格隔开,表示查询颜色ci 第qi 次出现的位置。
输出描述:
共m行,第i行一个整数,表示查询结果,若颜色ci出现次数少于qi次,则输出-1,否则输出颜色qi第ci次出现的位置。示例1输入
复制2 2
RB
R 1
B 1输出
复制1
2示例2输入
复制2 2
BB
R 1
B 2输出
复制-1
2示例3输入
复制3 3
BRB
B 1
B 2
R 1输出
复制1
3
2备注:
对于100%的测试数据:1 ≤ n, m ≤ 1000000所有输入数据不超过1000000。数据量较大,注意使用更快的输入输出方式。

题目描述

官方题解思路:维护每种颜色的前缀和,由于前缀和具有单调性,对于每次 查询,二分查找出该颜色前缀和中值为qi的第一个位置即可。

我是这样做的:用两个数组存储两种颜色,然后判断输出就行了

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#define maxn 1000005
using namespace std;char a[maxn],c;int x[maxn],y[maxn];
int main()
{int n,m,q,xx=0,yy=0;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){cin>>a[i];if(a[i]=='R')x[xx++]=i;elsey[yy++]=i;}for(int i=0;i<m;i++){cin>>c>>q;if(c=='R'){if(xx>=q)printf("%d\n",x[q-1]);elseprintf("-1\n");}else{if(yy>=q)printf("%d\n",y[q-1]);elseprintf("-1\n");}}return 0;
}

AC Code

转载于:https://www.cnblogs.com/Rysort/p/9475868.html

牛客练习赛24 C PH试纸相关推荐

  1. 牛客练习赛24题解(搜索,DP)

    A题,C题不讲,基础题(但是我要抨击一下这次比赛,卡cin,cout,卡的太狠了,根本就不让过的那种,QAQ) 链接:https://www.nowcoder.com/acm/contest/157/ ...

  2. 牛客练习赛24 - AB

    A - 石子阵列 - 排列组合 链接:https://www.nowcoder.com/acm/contest/157/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ ...

  3. 牛客练习赛24 B 凤 凰

    链接:https://www.nowcoder.com/acm/contest/157/B 来源:牛客网题目描述凤凰于飞,翙翙其羽,亦集爰止. --<诗经·卷阿> 传说,凤凰是百鸟之王.有 ...

  4. 牛客练习赛24 B凤 凰(并查集考察)

    链接:https://www.nowcoder.com/acm/contest/157/B 来源:牛客网 题目描述 凤凰于飞,翙翙其羽,亦集爰止. --<诗经·卷阿> 传说,凤凰是百鸟之王 ...

  5. 牛客练习赛24(18.08.10)

    问题:凤凰 题目描述 凤凰于飞,翙翙其羽,亦集爰止. --<诗经·卷阿> 传说,凤凰是百鸟之王.有一天,凤凰要召开百鸟大会,百鸟国是一个由n个节点组成的树,每个节点有一只鸟,开会的节点定在 ...

  6. 牛客练习赛68 B.牛牛的算术

    牛客练习赛68 B.牛牛的算术 题目链接 题目描述 牛牛最近学习了取模是什么 于是他看到了下面这一道题: 多次询问:每次询问包含一个正整数 n 要求你输出下列结果 ∏i=1n∑j=1i∑k=1ji×j ...

  7. 牛客练习赛81 E. 小 Q 与函数求和 1( “简单莫比乌斯反演” ,欧拉函数性质)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 牛客练习赛81 E. 小 Q 与函数求和 1( "简单莫比乌斯反演" ) Prob ...

  8. 解题报告(一)C、(牛客练习赛41 F)简单数学题(数论 + FWT)(3.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  9. 牛客练习赛34 E little w and Digital Root(数位dp)

    title: 牛客练习赛34 E little w and Digital Root(数位dp) date: 2018-12-17 22:38:37 tags: 数位dp categories:ACM ...

最新文章

  1. python语音翻译-python利用有道翻译实现“语言翻译器”的功能
  2. servlet中为什么doGet方法没有被调用的一种可能(笔记)
  3. Oracle_052_lesson_p9
  4. 使用vuex 进行组件之间的通讯
  5. Fragment的生命周期和activity如何的一个关系
  6. 2021-4-4 省选模拟赛(灯,十字路口,密室逃脱)
  7. Spring boot(6)---在Eclipse中搭建Spring boot 项目
  8. Checkstyle的配置集
  9. CTF---Web入门第二题 上传绕过
  10. 用iPhone打造个人的GTD(Get Things Done)实践
  11. 阿里巴巴实习生初面面经
  12. 聊聊IT外包公司(外包公司的运作模式和赚钱之道)
  13. 留人间多少爱,迎浮世千重变;和有情人,做快乐事, 别问是劫是缘
  14. 来自CSDN的精华网址
  15. 从“网易邮箱被黑”看网页游戏账号安全
  16. markdown列表中的缩进
  17. 机器学习入门:入手sklearn框架+线性回归+案例(基金数据的预测)
  18. 使用Youtube官方API订阅功能的实现
  19. Java中IO流(3).
  20. 2019 web 前端面试总结(春招)

热门文章

  1. 查看linux cpu和内存利用率__linux top命令
  2. LeetCode 289. 生命游戏
  3. 深度学习李宏毅PPT学习笔记一(深度学习介绍)
  4. Linux下的防火墙管理(包含图形和命令、伪装和转发)
  5. 计算机科学之美,计算机科学的美学探讨
  6. win10python3.6.3安装_Win10Python3.6安装impyla
  7. python调整图像大小_使用Python调整图像大小
  8. 路径中“./”、“../”、“/”代表的含义
  9. 论文阅读之ALBERT
  10. SUSHI区块奖励将根据此前提案在3月降至每区块40枚