题目描述

Alice最近迷上了杀怪爬塔的游戏,在塔中有n层关卡,在通过第i层关卡后Alice会走上第i+1层。每个关卡中可能会获得女神的祝福或者遇到怪物。如果得到女神的祝福,Alice生命值会+1,如果遇到怪物Alice会被攻击并且生命值会-1,同时Alice也会把怪物解决掉。而Alice是一个硬核玩家,起初他的生命值为1,他想要最后生命值仍然为1。所以他问你,在第L层到第R层Alice能通过的关卡数最多是多少?

注意Alice可以从L~R的任意一层出发,期间任何时刻Alice生命值不能为0。

题目保证在1~n层中,无论Alice从哪一层开始挑战,他能通过的关卡数<=10。

输入描述:


第一行包含一个数字 n (1<=n<=100000) 表示有n层关卡。

第二行包含一个长度为n的只含有0或1的字符串来表示1~n层关卡,0表示这一层有怪物,1表示这一层会获得女神的祝福。

第三行包含一个数字 q (1<=q<=100000) 表示有q次询问。

接下来q行,每行包含两个数字L,R (1<=L<=R<=n) 表示询问L~R层。

输出描述:

对于q次询问,每行输出一个数字表示这次询问中Alice能通过的最多的关卡数。

示例1

输入

复制6 110010 4 1 6 1 3 3 5 2 4

6
110010
4
1 6
1 3
3 5
2 4

输出

复制6 2 0 2

6
2
0
2
#include <bits/stdc++.h>
using namespace std;
const int maxn=2e5+5;
string s;
int n,m;
#define PII pair<int,int>
set<PII>mp[11];
void solve()
{int l,r;cin>>l>>r;for(int i=10; i>=1; i--){auto it=mp[i].lower_bound({l,l});if(it==mp[i].end())continue;if(it->first>=l&&it->second<=r){cout<<i<<'\n';return;}}cout<<"0\n";
}
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin>>n>>s;cin>>m;s="1"+s;for(int i=1; i<=n; i++){int ans=1;for(int j=i; j<=min(n,i+9); j++) //题目保证在1~n层中,无论Alice从哪一层开始挑战,他能通过的关卡数<=10。{if(s[j]=='1')ans++;else  ans--;if(ans<=0)break;if(ans==1)mp[j-i+1].insert({i,j});}}while(m--){solve();}return 0;
}

文远知行杯广东工业大学第十六届程序设计竞赛 E爬塔相关推荐

  1. 文远知行杯广东工业大学第十六届程序设计竞赛ABEFHI(记录)

    文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ大学ACM校赛新生赛是面向ACM/ICPC/CCPC/区域赛校队选手,巩固经典专 ...

  2. 文远知行杯广东工业大学第十六届程序设计竞赛(题解)

    文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A:思维题 #include<bits/stdc++.h> usi ...

  3. 文远知行杯广东工业大学第十六届程序设计竞赛错题笔记

    目录 官网链接 A 区间最大值 F 一个很大的数 I V字钩爪 官网链接 A 区间最大值 题目描述 长度为 n 的数组 a,下标从1开始,定义 a[i]=n%i 有 m 组询问 {L,R},求 max ...

  4. 文远知行杯广东工业大学第十六届程序设计竞赛 A 区间最大值

    题目链接:https://ac.nowcoder.com/acm/contest/30896/A 题目描述 长度为 n 的数组 a,下标从 1 开始,定义 a [ i ] = n % i a[i]=n ...

  5. 文远知行杯广东工业大学第十六届程序设计竞赛

    A: 长度为 n 的数组 a,下标从1开始,定义 a[i]=n%ia[i]=n \% ia[i]=n%i 有 m 组询问 {L,R},求 maxi=LRa[i]max_{i=L}^{R} a[i]ma ...

  6. “字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛 1,2,3,4,5,7,8,9,10

    1001: hzy 和zsl 的生存挑战 Problem Description zsl 和hzy 来到了臭臭城堡,打算挑战臭臭城堡的大魔王hyz,大魔王hyz设置了这样的一个挑战: zsl 和hzy ...

  7. 字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛

    题目链接 传送门 简单数学题 题目 思路 前置知识: \[ \sum_{i=m}^{n}C_{i}^{m}=C_{n+1}^{m+1} \] 此题化简: \[ \begin{aligned} & ...

  8. 人类史上最大最好的希望事件 字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛

    作为CNCS的半壁江山,狗哥常常在宇宙中心邵阳眺望黄浦江,夜晚的星空总是迷人,有时候还能见到彗星滑落. 狗哥是幸运的,他在两秒钟内看到了十七颗彗星划过天际,作为打ACM的学者,自然不会有「稳定-1」情 ...

  9. “字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛

    a.hzy 和zsl 的生存挑战 思路:看见"假设他们都足够机智"就够了,全输出1.00就ac #include<bits/stdc++.h> #define INF ...

最新文章

  1. R语言使用ggplot2包使用geom_density()函数绘制密度图(自定义颜色填充、线条色彩、分组、均值线)实战(density plot)
  2. 2013年7月12日“修复 Migration 测试发现的 Bug”
  3. idea部署项目com.intellij.javaee.oss.admin.jmx.JmxAdminException-未使用最新版本的war包
  4. 小米宣布将停止MIUI全球Beta测试计划
  5. 蓝桥杯 ADV-237 算法提高 三进制数位和
  6. 「职业解读」软件测试工程师
  7. 南宁Java程序员平均工资_南宁程序员平均工资 在南宁做程序员有一万工资吗
  8. python求小于n的最大素数_枚举1--求小于n的最大素数
  9. 2020仙气十足的女生个性网名
  10. Altium Designer 多引脚元件快速画法 Smart Grid Insert
  11. JAVA与C语言的区别之我见
  12. 网络爬虫之东方财富网股票板块
  13. EXCEL表格使用VBA编程设置绘图区尺寸
  14. R语言实战 input+结果——ROC曲线的绘制 auc 时量下曲线面积
  15. [模仿]html5游戏_兔子踩铃铛
  16. PHP 获取客户端 IP 地址
  17. 设计师必备的30款好看的手写字体免费下载
  18. 使用百度BMap地图
  19. 逆序对——P3054 [USACO12OPEN]跑圈Running Laps
  20. 算法计算访问命中率.

热门文章

  1. 《数据结构》第四章串,数组和广义表
  2. 20210429 ---- 浅谈 视口
  3. 常用的Linux 系统监控工具
  4. 郑州灵活用工平台开发怎么选择模式?
  5. 2021-10-16windows系统还原点创建/查看/配置/删除
  6. 风控中消费信贷板块的英文词汇
  7. logo设计的方法和技巧
  8. Snipaste常用快捷键(详细总结)
  9. CSDN快速涨粉秘笈---涨粉速度提升30倍
  10. edge搁置标签页_如何自定义Microsoft Edge的新标签页