Codeforces Round #667 (Div. 3) E. Two Platforms (双指针)

- 题意:有\(n\)个点往下落,你可以在最下面放两个长度为\(k\)的板子,问做多能接到多少个点. 
- 题解:这题给纵坐标\(y\)完全没有用,我们先对横坐标\(x\)排序,然后从左边开始枚举,用\(l[i]\)记录\([1,i]\)中,一块板子最多能接到的点,然后再从右开始枚举,用\(r[i]\)记录\([i,n]\)中,一块板子最多能接到的点,最后遍历所有横坐标,维护\(l[i]+r[i+1]\)的最大值即可,其实可以理解为\(l[]\)就是第一块板子,\(r[]\)就是第二块板子. 
- 代码: - int t;
 int n,k;
 int x[N],y[N];
 int l[N],r[N];
 int ans; int main() {
 //ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
 t=read();
 while(t--){
 n=read();
 k=read();
 ans=1; for(int i=1;i<=n;++i) x[i]=read();
 for(int i=1;i<=n;++i) y[i]=read(); sort(x+1,x+1+n); int j=1;
 for(int i=1;i<=n;++i){
 while(j<=n && x[i]-x[j]>k) j++;
 l[i]=i-j+1;
 if(i>1) l[i]=max(l[i],l[i-1]);
 }
 j=n;
 for(int i=n;i>=1;--i){
 while(j>=1 && x[j]-x[i]>k) j--;
 r[i]=j-i+1;
 if(i+1<=n) r[i]=max(r[i],r[i+1]);
 }
 for(int i=1;i<n;++i){
 ans=max(ans,l[i]+r[i+1]);
 }
 printf("%d\n",ans);
 } return 0;
 }
 
Codeforces Round #667 (Div. 3) E. Two Platforms (双指针)的更多相关文章
- Codeforces Round #667 (Div. 3)
		比赛链接:https://codeforces.com/contest/1409 A. Yet Another Two Integers Problem 题意 给出两个数 $a$ 和 $b$,有以下两 ... 
- Codeforces Round #667 (Div. 3) B、C、D、E 题解
		抱歉B.C题咕了这么久 B. Minimum Product #枚举 #贪心 题目链接 题意 给定四个整数\(a, b, x, y\),其中\(a\geq x, b\geq y\),你可以执行不超过\ ... 
- Codeforces Round #667 (Div. 3)   D. Decrease the Sum of Digits   (贪心)
		题意:给你一个正整数\(n\),每次可以对\(n\)加一,问最少操作多少次是的\(n\)的所有位数之和不大于\(s\). 题解:\(n\)的某个位置上的数进位,意味这后面的位置都可以被更新为\(0\) ... 
- Codeforces Round #667 (Div. 3)   C. Yet Another Array Restoration   (数学)
		题意:给你两个数字\(x\)和\(y\),让你构造一个长度为\(n\)的序列,要求包含\(x\)和\(y\),并且排序后相邻两项的差值相等. 题解:有排序后相邻两项的差值相等可知,构造的序列排序后一定 ... 
- Codeforces Round #667 (Div. 3)   B. Minimum Product  (贪心,数学)
		题意:给你\(a\)和\(b\)两个数,每次操作可以是任意一个数\(-1\),最多操作\(n\),并且\(a\ge x\),\(b\ge y\),求操作后\(a*b\)的最小值. 题解:观察样例并且在 ... 
- Codeforces Round #552 (Div. 3)-1154E-Two Teams-(模拟+双指针)
		http://codeforces.com/contest/1154/problem/E 解题: 举例n=10,k=1 1,2,10,4,7,6,9,8,5,3 第一次,1队先挑2,10,4这三个人 ... 
- Codeforces Round #366 (Div. 2) ABC
		Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ... 
- Codeforces Round #354 (Div. 2) ABCD
		Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ... 
- Codeforces Round #368 (Div. 2)
		直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ... 
随机推荐
- RandomForest 随机森林算法与模型参数的调优
			公号:码农充电站pro 主页:https://codeshellme.github.io 本篇文章来介绍随机森林(RandomForest)算法. 1,集成算法之 bagging 算法 在前边的文章& ... 
- 【RAC】通过命令查看当前数据库是不是rac
			SQL> show parameter cluster_database 如果参数中显示的是 NAME TYPE ... 
- 聊聊 React
			都说 React 开发效率高,但效率高在哪呢?来细看看. 用 d3 写一个 List: const renderList = data => { d3.select("ul" ... 
- 2021年首届.NET线下沙龙上海站 - 2021 .NET Meetup in Shanghai
			.NET Conf 2020 刚刚在苏州落下帷幕, .NET 开发者们的热情不减,来自五湖四海的朋友一起参加疫情之下的 .NET 盛会. 2021年上海第一场线下活动就要来了,快来加入我们一起学习.N ... 
- Python-Flask搭建Web项目
			最近因项目需要,学习了用flask搭建web项目,以下是自己的使用感悟 Flask框架结构 static:存储一些静态资源 templates:存储对应的view app.py:涉及到页面的跳转,以及 ... 
- ubuntu14.04 LEMP(linux+nginx+mysql+php5)构建环境
			Install LEMP (Linux, Nginx, MySQL and PHP) Stack on Ubuntu Linux 14.04 LTS by VIVEK GITE on DECEMBER ... 
- 查看窗口名  调用dll  setForegroundWindow
			package main import ( "fmt" "log" "syscall" "unsafe" ) var ( ... 
- 实用 nginx.conf 用法大全
			服务器拒绝非GET方式请求保障安全性,因为 DELETE.POST.PUT 是可以修改数据的. Nginx 解决方案 在 nginx.conf 配置文件的网站配置区域中添加如下代码片段: 非 GET ... 
- go 语言开发中 GOPATH问题 与 go语言linux 开发环境 教程
			https://github.com/rubyhan1314/Golang-100-Days/blob/master/Day01-15(Go%E8%AF%AD%E8%A8%80%E5%9F%BA%E7 ... 
- 动态库与静态库的学习  博主写的很好   静态库 编译的时候 需要加上 static   动态库编译ok运行不成功就按照文章中的方法修改
			来源连接 http://www.cnblogs.com/skynet/p/3372855.html C++静态库与动态库 这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库 ... 
