摘要: 简介 $CDQ$分治是由国家队选手陈丹琦在$08$年提出的一种基于时间的离线分治算法。因而得名。 可以在某些问题中取代诸如$k d tree$的高级数据结构。 前置知识 归并排序 实现思路 CDQ分治的大体思路如下: 1. 统计左区间答案。 2. 统计右区间答案。 3. 统计左区间对右区间产生的影响 阅读全文
posted @ 2019-08-18 18:50 Ilverene 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 简介 (本文只讨论二维凸包) 粗略地看,凸包是对凸多边形的另一种称呼。 更加准确地说,对于二维平面上给定的点集,其凸包为包含了点集且由点集中的点连接而成的凸多边形。 在解题时,一般询问与凸包周长或面积相关的极值问题。 前置知识 向量 如果实在没有接触过向量的概念,那么大致将其想象为一个箭头就行了。 阅读全文
posted @ 2019-08-18 16:33 Ilverene 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 题意 凸包模板,给定平面上点集,求包含所有点的凸包周长最小值。 思路 使用$Graham$扫描法解决。 考虑将最左下的点设为原点(事实上任意点均可作为原点),然后其余各点根据斜率排序。 对于每一个节点,我们考虑加入它是否会与已有的边点构成内凹,如果会,那么放弃已有边点。 显然我们可以通过维护一个单调 阅读全文
posted @ 2019-08-18 16:27 Ilverene 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题意 有n个关卡,每一关都会在僵尸队列的排头添加一只僵尸,同时排头与家的距离会发生变化。相邻僵尸之间的距离固定为$d$。 对于每一关,可以放置一颗任意攻击力的植物(每颗植物仅作用于当前关卡)。求攻击力总和最小值。 思路 显然$f[i]=max(\frac{sum[i] sum[j 1]}{x[i]+ 阅读全文
posted @ 2019-08-18 11:28 Ilverene 阅读(100) 评论(0) 推荐(0) 编辑