凸包
_beginend
这个作者很懒,什么都没留下…
展开
-
bzoj 3533: [Sdoi2014]向量集 线段树+凸包+二分
题意维护一个向量集合,在线支持以下操作: “A x y (|x|,|y| < =10^8)”:加入向量(x,y); ” Q x y l r (|x|,|y| < =10^8,1 < =L < =R < =T,其中T为已经加入的向量个数)询问第L个到第R个加入的向量与向量(x,y)的点积的最大值。 集合初始时为空。强制在线。 1 < =N < =4×10^5分析世界上最开心的事情莫过于一遍AC原创 2017-10-22 20:14:11 · 305 阅读 · 0 评论 -
51nod 1488 帕斯卡小三角 单调栈维护凸壳+二分
题意f(1,j)=a[j], 1≤j≤n. f(i,j)=min(f(i-1,j),f(i-1,j-1))+a[j], 2≤i≤n, i≤j≤n. a是一个长度为n的数组。现在有若干个询问,输入x,y,求f(x,y) n,q<=100000分析显然要求的是从第一层某个点(1,s)到(x,y)的最短路径。 yy一下不难发现路径必然是从某个(1,s)走到(x-y+s,s)然后再沿着对角线走到(x原创 2017-10-31 11:20:14 · 461 阅读 · 0 评论 -
bzoj 5090: 组题 凸包+二分
题意著名出题人小Q的备忘录上共有n道可以出的题目,按照顺序依次编号为1到n,其中第i道题目的难度系数被小Q估计为a_i,难度系数越高,题目越难,负数表示这道题目非常简单。小Q现在要出一套难题,他决定从备忘录中选取编号连续的若干道题目,使得平均难度系数最高。当然,小Q不能做得太过分,一套题目必须至少包含k道题目,因此他不能通过直接选取难度系数最高的那道题目来组成一套题。请写一个程序,帮助小Q挑选平均难原创 2017-12-09 07:42:24 · 391 阅读 · 0 评论 -
bzoj 3482: [COCI2013]hiperprostor 分层图最短路+凸包
题意在遥远的未来,行星之间的食品运输将依靠单向的贸易路线。每条路径直接连接两个行星,且其运输时间是已知的。贸易商协会打算利用一项最近发现的新技术——超空间旅行,以增加一些新的航线。通过超空间旅行的航线也是单向的。由于该项技术仍处于试验阶段,超空间旅行的时间目前是未知的,但它不取决于行星之间的距离,所以每个超空间旅行的路线将花费等量的时间。下图是三个相互联通的行星及其运输时间的例子。行星使用正整数标号原创 2018-01-04 08:21:08 · 401 阅读 · 0 评论 -
bzoj 4311: 向量 线段树分治+凸包+三分
题意你要维护一个向量集合,支持以下操作: 1.插入一个向量(x,y) 2.删除插入的第i个向量 3.查询当前集合与(x,y)点积的最大值是多少。如果当前是空集输出0 n分析如果直接用类似二维数点的方法来做显然不行。 考虑点积最大值的几何意义,也就是一条与该向量垂直的直线从无穷远处飞过来,碰到的第一个点就是答案。不难发现答案一定在凸包上面。 如果不带删除操作的话,我们可以原创 2018-01-10 07:46:49 · 334 阅读 · 0 评论 -
CS Academy Round 70 Squared Ends dp+cdq分治+凸包+二分
题意给出一个长度为n的序列a[1..n],现在要将这个序列分成k段,第i段[li,ri][li,ri][l_i,r_i]的贡献为(a[ri]−a[li])2(a[ri]−a[li])2(a[r_i]-a[l_i])^2。要求最小化每一段贡献的和。 n<=10000,k<=100分析设dp[i,j]dp[i,j]dp[i,j]表示前i个位置分成j段的最小贡献和。 不难得到...原创 2018-02-22 11:32:56 · 272 阅读 · 0 评论