首页 技术 正文
技术 2022年11月10日
0 收藏 449 点赞 4,871 浏览 713 个字

二分答案

>=key的记为1

f[i]表示令i位置为1所需要的最少的1的个数

队列模拟

#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,ans,d[1000005],a[1000005],stack[1000005];
int check(int key){
int ans=0;
for (int i=1; i<=n-m; i++) if (d[i]>=key) ans++;
int head=0,tail=0;
for (int i=1; i<=n; i++){
if (!a[i]) stack[++tail]=1;
else if (a[i]>=key) stack[++tail]=0;
else stack[++tail]=1e9;
}
while (tail-head+1>=3){
int x1=stack[++head],x2=stack[++head],x3=stack[++head];
stack[++tail]=min(x1+x2,min(x1+x3,min(x2+x3,(int)1e9)));
}
return stack[tail]<=ans;
}
int main(){
scanf("%d%d",&n,&m);
for (int i=1; i<=m; i++){
int x,y;
scanf("%d%d",&x,&y);
a[y]=x;
}
for (int i=1; i<=n-m; i++) scanf("%d",&d[i]);
int l=0,r=1e9;
while (l<r){
int mid=(l+r+1)>>1;
if (check(mid)) l=mid;
else r=mid-1;
}
printf("%d\n",l);
return 0;
}

  

上一篇: golang json 示例
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,492
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,494
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,132
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,295