$n \leq 100000$个点,$m \leq 100000$次询问,每次问删掉一些点后的凸包面积。

不会啦写个20暴力,其实是可以写到50的。当个计算几何板子练习。

 //#include<iostream>
#include<cstring>
#include<cstdio>
//#include<math.h>
//#include<set>
//#include<queue>
//#include<bitset>
//#include<vector>
#include<algorithm>
#include<stdlib.h>
using namespace std; #define LL long long
int qread()
{
char c; int s=,f=; while ((c=getchar())<'' || c>'') (c=='-') && (f=-);
do s=s*+c-''; while ((c=getchar())>='' && c<=''); return s*f;
} //Pay attention to '-' , LL and double of qread!!!! int n,m;
#define maxn 100011
int Abs(int x) {return x>?x:-x;}
struct Poi
{
int x,y;
LL operator * (const Poi &b) const {return 1ll*x*b.y-1ll*y*b.x;}
Poi operator - (const Poi &b) const {return (Poi){x-b.x,y-b.y};}
bool operator < (const Poi &b)
{
if (x== && y==) return ;
if (b.x== && b.y==) return ;
Poi c=(Poi){,};
LL tmp=(c-(*this))*(c-b);
return tmp> || (tmp== && Abs(x)<Abs(b.x));
}
}p[maxn],q[maxn],sta[maxn]; int lq,top;
bool vis[maxn]; int main()
{
n=qread(); m=qread();
for (int i=;i<=n;i++) {p[i].x=qread(); p[i].y=qread();} LL s=-;
int K,op;
while (m--)
{
memset(vis,,sizeof(vis));
K=qread();
while (K--) vis[(qread()+s+n)%n+]=;
int my=0x3f3f3f3f,id=; lq=top=;
for (int i=;i<=n;i++) if (!vis[i])
{
q[++lq]=p[i];
if (p[i].y<my) {my=p[i].y; id=lq;}
}
for (int i=;i<=lq;i++) if (i!=id) q[i].x-=q[id].x,q[i].y-=q[id].y; q[id].x=q[id].y=;
sort(q+,q++lq);
// for (int i=1;i<=lq;i++) cout<<q[i].x<<' '<<q[i].y<<endl;cout<<endl;
sta[++top]=q[lq];
for (int i=;i<=lq;i++)
{
while (top> && (sta[top]-sta[top-])*(q[i]-sta[top])<=) top--;
sta[++top]=q[i];
}
// for (int i=1;i<=top;i++) cout<<sta[i].x<<' '<<sta[i].y<<endl; cout<<endl;
s=;
for (int i=;i<top;i++) s+=sta[i]*sta[i+];
printf("%lld\n",s);
}
return ;
}

LOJ#2307. 「NOI2017」分身术的更多相关文章

  1. loj #2305. 「NOI2017」游戏

    #2305. 「NOI2017」游戏 题目描述 小 L 计划进行 nnn 场游戏,每场游戏使用一张地图,小 L 会选择一辆车在该地图上完成游戏. 小 L 的赛车有三辆,分别用大写字母 AAA.BBB. ...

  2. loj#2305. 「NOI2017」游戏 2-sat

    链接 https://loj.ac/problem/2305 https://www.luogu.org/problemnew/show/P3825 思路 3-sat神马的就不要想了,NP问题 除去x ...

  3. LOJ 2304 「NOI2017」泳池——思路+DP+常系数线性齐次递推

    题目:https://loj.ac/problem/2304 看了各种题解…… \( dp[i][j] \) 表示有 i 列.第 j 行及以下默认合法,第 j+1 行至少有一个非法格子的概率,满足最大 ...

  4. LOJ 2303 「NOI2017」蚯蚓排队——链表+哈希表

    题目:https://loj.ac/problem/2303 想到合并的时候可以只考虑接口附近的50个,但不太会分析复杂度,而且没有清楚地想到用哈希值对应个数. 看了题解才会…… 一直想用 splay ...

  5. LOJ 2302 「NOI2017」整数——压位线段树

    题目:https://loj.ac/problem/2302 压30位,a最多落在两个位置上,拆成两次操作. 该位置加了 a 之后,如果要进位或者借位,查询一下连续一段 0 / 1 ,修改掉,再在含有 ...

  6. *LOJ#2306. 「NOI2017」蔬菜

    $n \leq 100000$种蔬菜,每个蔬菜有:一单位价格:卖第一单位时额外价格:总量:每天腐烂量.每天能卖$m \leq 10$单位蔬菜,多次询问:前$k \leq 100000$天最多收入多少. ...

  7. LOJ#2304. 「NOI2017」泳池

    $n \leq 1e9$底边长的泳池,好懒啊泥萌自己看题吧,$k \leq 1000$.答案对998244353取膜. 现在令$P$为安全,$Q$为危险的概率.刚好$K$是极其不好算的,于是来算$\l ...

  8. LOJ#2303. 「NOI2017」蚯蚓排队

    $n \leq 200000$的$1 \leq a_i \leq 6$的蚯蚓,有三种操作:让一只队头蚯蚓接在一只队尾蚯蚓后面:让一队蚯蚓从某个蚯蚓后面断成两队:问:给个字符串,问他的..算了你们直接看 ...

  9. LOJ#2302. 「NOI2017」整数

    $n \leq 1000000$个操作:一,给$x$加上$a*2^b$:二,问$x$的某个二进制位$k$.$b,k \leq 30n$,$|a| \leq 1e9$. 30暴露了一切..可以把30个二 ...

随机推荐

  1. 【前端_js】js中数字字符串之间的比较

    js中字符串间的比较是按照位次优先,比较各字符的ASCII大小,包括数字字符串之间的比较. 1.console.log("1"<"3");//true 2 ...

  2. h5中的video与audio

    ·首先带大家熟悉一下video标签的属性方法,根据属性方法做一个小demo, HTML5支持的视频格式: Ogg 带有Theora视频编码+Ogg文件 支持的浏览器:F.O MEPG4  带有H.26 ...

  3. JZOJ 1264. 乱头发节

    1264. 乱头发节(badhair.pas/c/cpp) (File IO): input:badhair.in output:badhair.out Time Limits: 1000 ms  M ...

  4. oracle insert用法总结

    总结下Oracle 中的Insert用法   1.标准Insert --单表单行插入   语法:     INSERT INTO table [(column1,column2,...)] VALUE ...

  5. [BZOJ1588]营业额统计(Splay)

    Description 题意:给定 n个数,每给定一个数,在之前的数里找一个与当前数相差最小的数,求相差之和(第一个数为它本身) 如:5 1 2 5 4 6 Ans=5+|1-5|+|2-1|+|5- ...

  6. EasyUI与Bootstrap完美结合

    注意点:版本问题.两者都是基于jQuery来构建,所以对于版本的选择要注意下

  7. Diycode开源项目 NotificationActivity

    1.NotificationActivity预览以及布局详解 1.1.首先看一下通知的具体页面. 1.2.然后是布局代码==>activity_fragment.xml <LinearLa ...

  8. Kali 安装VMtools(最新)

    老方法安装的VMtools不能进行主宿切换,下面是kali最新版安装VMtools的方法 一.换国内源&更新源 参考 Kali 2017更新源 二.安装VMtools apt-get inst ...

  9. getsupportfragmentmanager 没有这个方法

    让activity继承自fragmentactivity就行了.

  10. Asp.net页面生命周期详解任我行(3)-服务器处理请求详细过程

    前言 百度了一下才知道,传智的邹老师桃李满天下呀,我也是邹老师的粉丝,最开始学习页面生命周期的时候也是看了邹老师的视频. 本人是参考了以下前辈的作品,本文中也参合了本人心得,绝非有意盗版,旨在传播,最 ...