随笔分类 -  计算几何-凸包

摘要:题目链接 "BZOJ1185" 题解 最小矩形一定有一条边在凸包上,枚举这条边,然后旋转卡壳维护另外三个端点即可 计算几何细节极多 1. 维护另外三个端点尽量不在这条边上,意味着左端点尽量靠后,右端点尽量靠前,加上或减去一个eps来处理 2. C++printf输出0.00000阅读全文
posted @ 2018-07-11 10:09 Mychael 阅读(212) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3672" 题解 如果暂时不管l[i]的限制,并假使这是一条链 设f[i]表示i节点的最优答案,我们容易得到dp方程 f[i]=min{f[j]+(d[i]d[j])p[i]+q[i]} 显而易见可以斜率优化 化为 $$f[j] = p[ 阅读全文
posted @ 2018-06-25 17:52 Mychael 阅读(141) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ1069" 题解 首先四个点一定在凸包上 我们枚举对角线,剩下两个点分别是两侧最远的点 可以三分,复杂度O(n2logn) 可以借鉴旋转卡壳的思想,那两个点随着对角线的一定单调不减,可以用两个指针维护,复杂度O(n2) C++ include include incl 阅读全文
posted @ 2018-06-10 17:15 Mychael 阅读(141) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3533" 题解 我们设询问的向量为(x0,y0),参与乘积的向量为(x,y) 则有 $$ \begin{aligned} ans &= x_0x + y_0y \\ y &= \frac{x_0}{y_0}x + \frac{ans}{y_0} \\ \end{al 阅读全文
posted @ 2018-05-20 19:29 Mychael 阅读(218) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示