文远知行杯广东工业大学第十六届程序设计竞赛 E爬塔
题目描述
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爬塔相关推荐
- 文远知行杯广东工业大学第十六届程序设计竞赛ABEFHI(记录)
文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ大学ACM校赛新生赛是面向ACM/ICPC/CCPC/区域赛校队选手,巩固经典专 ...
- 文远知行杯广东工业大学第十六届程序设计竞赛(题解)
文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A:思维题 #include<bits/stdc++.h> usi ...
- 文远知行杯广东工业大学第十六届程序设计竞赛错题笔记
目录 官网链接 A 区间最大值 F 一个很大的数 I V字钩爪 官网链接 A 区间最大值 题目描述 长度为 n 的数组 a,下标从1开始,定义 a[i]=n%i 有 m 组询问 {L,R},求 max ...
- 文远知行杯广东工业大学第十六届程序设计竞赛 A 区间最大值
题目链接:https://ac.nowcoder.com/acm/contest/30896/A 题目描述 长度为 n 的数组 a,下标从 1 开始,定义 a [ i ] = n % i a[i]=n ...
- 文远知行杯广东工业大学第十六届程序设计竞赛
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 ...
- “字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛 1,2,3,4,5,7,8,9,10
1001: hzy 和zsl 的生存挑战 Problem Description zsl 和hzy 来到了臭臭城堡,打算挑战臭臭城堡的大魔王hyz,大魔王hyz设置了这样的一个挑战: zsl 和hzy ...
- 字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛
题目链接 传送门 简单数学题 题目 思路 前置知识: \[ \sum_{i=m}^{n}C_{i}^{m}=C_{n+1}^{m+1} \] 此题化简: \[ \begin{aligned} & ...
- 人类史上最大最好的希望事件 字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛
作为CNCS的半壁江山,狗哥常常在宇宙中心邵阳眺望黄浦江,夜晚的星空总是迷人,有时候还能见到彗星滑落. 狗哥是幸运的,他在两秒钟内看到了十七颗彗星划过天际,作为打ACM的学者,自然不会有「稳定-1」情 ...
- “字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛
a.hzy 和zsl 的生存挑战 思路:看见"假设他们都足够机智"就够了,全输出1.00就ac #include<bits/stdc++.h> #define INF ...
最新文章
- R语言使用ggplot2包使用geom_density()函数绘制密度图(自定义颜色填充、线条色彩、分组、均值线)实战(density plot)
- 2013年7月12日“修复 Migration 测试发现的 Bug”
- idea部署项目com.intellij.javaee.oss.admin.jmx.JmxAdminException-未使用最新版本的war包
- 小米宣布将停止MIUI全球Beta测试计划
- 蓝桥杯 ADV-237 算法提高 三进制数位和
- 「职业解读」软件测试工程师
- 南宁Java程序员平均工资_南宁程序员平均工资 在南宁做程序员有一万工资吗
- python求小于n的最大素数_枚举1--求小于n的最大素数
- 2020仙气十足的女生个性网名
- Altium Designer 多引脚元件快速画法 Smart Grid Insert
- JAVA与C语言的区别之我见
- 网络爬虫之东方财富网股票板块
- EXCEL表格使用VBA编程设置绘图区尺寸
- R语言实战 input+结果——ROC曲线的绘制 auc 时量下曲线面积
- [模仿]html5游戏_兔子踩铃铛
- PHP 获取客户端 IP 地址
- 设计师必备的30款好看的手写字体免费下载
- 使用百度BMap地图
- 逆序对——P3054 [USACO12OPEN]跑圈Running Laps
- 算法计算访问命中率.