我們發現如下結論:

1.只有編號小的點才會對編號大的點產生影響

2.當當前點的y坐標大小為1~i最大的,則不會被以前的點影響

於是,維護一個斜率單調遞增的隊列

當當前點的y坐標大小為1~i最大的,則這個點的b值為i

否則,不斷刪去隊列尾部的點,直到隊尾的點y值大於現在的點,輸出隊尾的點的編號

為什麼?因為隊尾的點的y值是1~i-1的點中最後一個y值比現在點大的,我們這個點雖然被前面的點更新,但是更新它最後一個點是隊尾的點

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int n,x[1000010],y[1000010],st[1000010],ct,mn,b[1000010];
int main(){
	freopen("beatall.in","r",stdin);
	freopen("beatall.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d%d",&x[i],&y[i]);
	mn=-2e9;
	for(int i=1;i<=n;i++){
		if(y[i]>=mn){
			mn=y[i];
			ct=0;
			st[++ct]=i;
			b[i]=i;
		}
		else{
			while(ct&&((long long)(y[st[ct-1]]-y[st[ct]])*(x[st[ct]]-x[i]))<=((long long)(x[st[ct-1]]-x[st[ct]])*(y[st[ct]]-y[i])))ct--;
			b[i]=st[ct];
			st[++ct]=i;
		}
	}
	for(int i=1;i<=n;i++)
		printf("%d\n",b[i]);
}

jzoj5950的更多相关文章

随机推荐

  1. 不要用for in语句对数组进行遍历

    for...in主要用于对数组和对象的属性进行遍历.for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作. 语法:for (variable in object) ...

  2. laravel表单图片上传

    1.视图 2.控制器

  3. 2018.08.21 NOIP模拟 xorand(01trie)

    xorand 描述 有q次操作,每次操作是以下两种: 1. 加入一个数到集合中 2. 查询,查询当前数字与集合中的数字的最大异或值,最大and值,最大or值 输入 第一行1个正整数Q表示操作次数 接下 ...

  4. 端口模式(IN,OUT,INOUT,BUFFER)

    in: OUT: INOUT: BUFFER:缓冲模式,与OUT类似可作为输出使用,但也可把输出的信号作为输入使用.

  5. 删除重复的feature vba VS 删除重复的feature python

    VBA: Sub deleteDuplicatedFeature() Dim app As IApplication Set app = Application Dim pMxDocument As ...

  6. EditPlus常用快捷键[私人]

    EditPlus快捷键大全网上一搜一大把, 本文档只记录自己常用的快捷键, 随时更新: 必用: ctrl + c 复制 ctrl + x 剪切 ctrl + v 粘贴 ctrl + z 回滚 ctrl ...

  7. 201709013工作日记--Android异步通信AsyncTask

    参考相关博客:http://blog.csdn.net/liuhe688/article/details/6532519 在Android中实现异步任务机制有两种方式,Handler和AsyncTas ...

  8. 20170906工作日记--volley源码的相关方法细节学习

    1. 在StringRequest类中的75行--new String();使用方法 /** * 工作线程将会调用这个方法 * @param response Response from the ne ...

  9. (线段树) I Hate It --hdu--1754 (入门)

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=1754 这次的代码和上个代码很相似,只不过上次的节点里存的是sum值,这次节点里存放的是Max, 正在慢慢 ...

  10. 团队项目第六周——Alpha阶段项目复审(盐酸队)

    Alpha阶段项目复审 小组 优点 缺点,bug报告 名次 天冷记得穿秋裤队 功能比较新颖,可以离线下载,做的比较完整 在下载电影时容易中断 1 只会嘤嘤嘤队 游戏和记单词的融合,也比较新颖 部分浏览 ...