题意略。

这道题目在比赛的时候怎么想也没想明白,后来看了别人的题解才顿悟,可以说很辣鸡了。

只有b[i - 1],b[i - 2],b[i - 3],b[i - 4]相等的时候才能对答案产生限制,否则全部都会成为第三种情况。

那么现在就有00000,00001,11110,11111这4种情况了。

1.00000可知这种状态来源于第三种情况,那么说明第二种状况的第一个条件是错的。

2.00001可知这种状态来源于第二种情况,那么说明第二种状况的两个条件都是对的。

3.11110可知这种状态来源于第一种情况,那么说明第一种情况的两个条件都是对的。

4.11111可知这种状况来源于第三种情况,那么说明第一种情况的第一个条件是错的。

详见代码:

#include<bits/stdc++.h>
#define maxn 100010
#define INF 1e9
using namespace std; char b[maxn];
int a[maxn];
int l,r,n; int getmax(int l,int r){
int ret = -INF;
for(int i = l;i <= r;++i){
ret = max(a[i],ret);
}
return ret;
}
int getmin(int l,int r){
int ret = INF;
for(int i = l;i <= r;++i) ret = min(ret,a[i]);
return ret;
} int main(){
scanf("%d",&n);
for(int i = ;i <= n;++i) scanf("%d",&a[i]);
scanf("%s",b + );
l = -INF,r = INF;
for(int i = ;i <= n;++i){
if(b[i - ] == '' && b[i - ] == '' && b[i - ] == '' &&
b[i - ] == ''){
int maxx = getmax(i - ,i);
if(b[i] == '') l = min(l,maxx);
else l = max(l,maxx + );
}
else if(b[i - ] == '' && b[i - ] == '' && b[i - ] == '' &&
b[i - ] == ''){
int minn = getmin(i - ,i);
if(b[i] == '') r = min(r,minn - );
else r = max(r,minn);
}
}
printf("%d %d\n",l,r);
return ;
}

Codeforces 940D的更多相关文章

  1. codeforces 940D 比赛总结

    这次比赛总体还行,但是并没发挥到极致 A题 速度正常 题解 B题 这个题先是没注意时间复杂度,tle了,好不容易优化了没多测几组就交了,很开心的wa了,查了一边发现没特判k,改好后有草率地交了,又wa ...

  2. Codeforces Round #466 (Div. 2) Solution

    从这里开始 题目列表 小结 Problem A Points on the line Problem B Our Tanya is Crying Out Loud Problem C Phone Nu ...

  3. 「日常训练」Alena And The Heater (CFR466D2D)

    题意(Codeforces 940D) 根据给定要求构建数列,求能构建出相同数列的l和r. 分析 这题写的是真的烦.一定要想到对b串要按照5个5个的看!为什么5个5个的看?因为根据题意,是先看前4个再 ...

  4. Codeforces Round #466 (Div. 2) 题解940A 940B 940C 940D 940E 940F

    Codeforces Round #466 (Div. 2) 题解 A.Points on the line 题目大意: 给你一个数列,定义数列的权值为最大值减去最小值,问最少删除几个数,使得数列的权 ...

  5. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  6. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  7. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  8. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

  9. CodeForces - 662A Gambling Nim

    http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...

随机推荐

  1. 记一次搭建ftp服务器的简略经历

    需求:在linux中搭建一个ftp 服务器,用户为:user1 目录为 /data/use1  ,          安全设置:限制权限,只能访问自己目录,限制端口,只允许特定ip访问. 1,安装vs ...

  2. java - 数组与String的length方法问题

    java数组没有length()方法,java数组有length属性: String有length()方法.

  3. apache httpd多后缀解析漏洞复现

    apache httpd多后缀解析漏洞复现 一.漏洞描述 Apache Httpd支持一个文件拥有多个后缀,不同的后缀执行不同的命令,也就是说当我们上传的文件中只要后缀名含有php,该文件就可以被解析 ...

  4. 0 MapReduce实现Reduce Side Join操作

    一.准备两张表以及对应的数据 (1)m_ys_lab_jointest_a(以下简称表A) 建表语句: create table if not exists m_ys_lab_jointest_a ( ...

  5. Shell基本语法---shell的变量以及常见符号

    变量 1.  不同于其它语言需要先声明变量 2 .等号的两边不能有空格 3. 调用变量: $a 或者 ${a} a=; echo $a; echo ${a} 变量 变量意思 $? 判断上一条命令执行的 ...

  6. Android Studio项目/Flutter 案例中Gradle报错通用解决方案(包括Unable to tunnel through proxy问题)

    目录 Step 1:修改Gradle版本为本地版本 Step 2:修改classpath为Android Studio版本 Step 3:关闭代理 Step 1:修改Gradle版本为本地版本     ...

  7. 3PHP如何用PDO的连接方式方式导出mysql数据

    首先连接mysql,具体看上一篇 接下来在try{}中加入以下代码 $query="select * from 你的数据表名称"          //$query的内容给个SQL ...

  8. Scala类和对象(二)

    1. 类和属性 1.1 如何控制构造函数字段的可见性 在Scala中: 如果一个字段被声明为var, Scala会为该字段生成getter和setter方法. 如果字段是val, Scala只生成ge ...

  9. javaWeb 中前端Form表单数据处理(手动拼json)

    在前端我们会用到最多的就是form表单提交数据,在form表单中有很多都是自动将数据传到后台,然后通过实体来接受的,但是有的时候我们就是需要在前端就拿到这个Form表单的数据,这是我们就可以自己讲数据 ...

  10. React的新特性 ---- Hooks ---- 的基本使用

    一.react-hooks概念 React中一切皆为组件,React中组件分为类组件和函数组件,在React中如果需要记录一个组件的状态的时候,那么这个组件必须是类组件.那么能否让函数组件拥有类组件的 ...