A6661 | 「雅礼集训 2018 Day5」Convex
时间限制6s
内存限制512MB
通过 / 提交0/0
题目描述
公元 2038 年,在经历二战后,人类历史的科技进步水平突飞猛进,同此时刻,从电脑、网际网路以至人工智慧,高超的技术已大幅提升人类的生活水平与社会富裕。
与此同时,CyberLife 公司的革命性发明,仿生人,已经渐渐进入千家万户,它们代替人类进行工作,修路工人、居家保姆、老人看护、大楼保全、销售店员等工作均被仿生人所代替。
各种面向不同工作的仿生人有不同的型号,比如 Kara 的型号为 AX400,面向中低端收入人群的家庭管家。
一日,在 Kara 在做家务,它被命令洗干净一堆盘子,望着凸包形状的盘子,她突发奇想,如果只把凸包中的一部分点拎出来重新建成凸包,那么这个新凸包面积多大呢?
于是她对盘子建立平面直角坐标系,并把上的点根据她心情好坏按某种顺序标号,每次取出所有标号在一段区间中的点,并希望你帮她计算这些点构成的凸包的面积大小。
Kara 并不喜欢浮点数,所以输出的所有点的横纵坐标都为整数,同时你输出时要把答案乘以 $2$ 再四舍五入到整数位后再输出。
保证输入的所有点都在凸包上,没有三点共线,为了方便还保证坐标原点一定在凸包盘子内部。
与此同时,CyberLife 公司的革命性发明,仿生人,已经渐渐进入千家万户,它们代替人类进行工作,修路工人、居家保姆、老人看护、大楼保全、销售店员等工作均被仿生人所代替。
各种面向不同工作的仿生人有不同的型号,比如 Kara 的型号为 AX400,面向中低端收入人群的家庭管家。
一日,在 Kara 在做家务,它被命令洗干净一堆盘子,望着凸包形状的盘子,她突发奇想,如果只把凸包中的一部分点拎出来重新建成凸包,那么这个新凸包面积多大呢?
于是她对盘子建立平面直角坐标系,并把上的点根据她心情好坏按某种顺序标号,每次取出所有标号在一段区间中的点,并希望你帮她计算这些点构成的凸包的面积大小。
Kara 并不喜欢浮点数,所以输出的所有点的横纵坐标都为整数,同时你输出时要把答案乘以 $2$ 再四舍五入到整数位后再输出。
保证输入的所有点都在凸包上,没有三点共线,为了方便还保证坐标原点一定在凸包盘子内部。
输入格式
第一行两个正整数 $n, m$ 表示凸包的点数与询问数。
下接 $n$ 行,每行两个整数 $x_i, y_i$ 描述凸包上的一个点。
下接 $m$ 行,每行两个整数 $l_i, r_i$ 描述一次询问,保证 $r_i - l_i + 1 \geq 3$。
下接 $n$ 行,每行两个整数 $x_i, y_i$ 描述凸包上的一个点。
下接 $m$ 行,每行两个整数 $l_i, r_i$ 描述一次询问,保证 $r_i - l_i + 1 \geq 3$。
输出格式
输出 $m$ 行,每行一个整数表示面积乘以 $2$ 再四舍五入后得到的数。
输入输出样例
输入 #1
4 2 1 -2 3 2 -2 2 -2 -1 1 4 2 4
输出 #1
29 15
对于全部数据,$n, m \leq 150000, -10^9 \leq x_i, y_i \leq 10^9$。
- 对于 $10 \%$ 的数据满足 $n, m \leq 2000$
- 对于 $30 \%$ 的数据满足 $n, m \leq 50000$
- 对于另 $10 \%$ 的数据满足所有点的标号是按照极角序排序的,即点输入时按凸包逆时针顺序排序
- 对于 $10 \%$ 的数据满足 $n, m \leq 2000$
- 对于 $30 \%$ 的数据满足 $n, m \leq 50000$
- 对于另 $10 \%$ 的数据满足所有点的标号是按照极角序排序的,即点输入时按凸包逆时针顺序排序
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?