二分
文章平均质量分 78
nKessi
这个作者很懒,什么都没留下…
展开
-
「APIO2017」商旅
link不难证明,这个商人不会沿着同样的路径(e.g.1->2->3->1->2->3->1)走两次,因为答案都是一样的。这样 33pts33pts33pts 的暴力就有了。考虑正解,有点像01分数规划?考虑二分最后答案,则val[x1][x2]+val[x2][x3]+...+val[xn][x1]time[x1][x2]+time[x2][x3]+...+time[xn][x1]>=mid\frac {val[x1][x2]+val[x2][x3]+..原创 2021-05-12 13:24:59 · 105 阅读 · 0 评论 -
分组 题解
题面样例6 12 81 22 33 43 23 14 14 51 56 55 63 66 33分析可以说是一个套路/思维模式吧不难想到 O(n3/k)\mathcal{O}(n^3/k)O(n3/k) (kkk 为常数)的暴力,二分优化一下 O(n2log2(n))\mathcal{O}(n^2log_2(n))O(n2log2(n))。考虑时间复杂度为什么会这么高,发现是二分时进行了太多冗余的操作。考虑缩短二分上下界。不妨设现在要取的边的数量为 ttt,原创 2021-04-29 13:37:53 · 627 阅读 · 0 评论 -
「九省联考 2018」IIIDX
题面分析60pts60pts60pts 贪心做法很显然对吧,把它看成一棵树很显然对吧。不妨将权值从小到大排序。对于一个点 xxx 的子树,每次取 n−siz[x]+1→nn-siz[x]+1\to nn−siz[x]+1→n 的权值即可,这种贪心在权值不相等的情况是可行的。p.s.siz[x]siz[x]siz[x] 为 xxx 的子树大小。而权值不相等时,这种做法显然有问题。不妨思考一下,对于一个点 xxx,要取第 iii 小的权值要满足什么条件?对的,要满足 iii 以及 iii 右边(即原创 2021-04-09 09:51:08 · 245 阅读 · 0 评论 -
最近点对分治算法
问题对于平面上给定的 NNN 个点,给出所有点的坐标,即输入是平面上的 NNN 个点,输出是 NNN 点中具有最短距离的两点。方法法一:暴力,时间复杂度 O(n2)O(n^2)O(n2)。法二:分支,时间复杂度 O(nlog(n))O(nlog(n))O(nlog(n))。当然,此博客讲法二。分析对于一个点我们可以将他们按 yyy 坐标的升序排序(当然可以反过来),取中间那个点的 yyy 坐标设为 midymidymidy 作为中间轴,分半,如图。对于直线的左右两边,都可以用分治,分别求出最原创 2020-11-12 12:41:37 · 629 阅读 · 0 评论