
分治法
accosmos
这个作者很懒,什么都没留下…
展开
-
分治法
最大连续和,给出一个长度为n的序列,求一段子序列,要求和最大。 分析:分治法,分为三段,左,中,右, int maxs = max(maxsum(A, x, m), maxsum(A, m, y));//左和右分别求最大值 v = 0; L = A[m - 1]; for (int i = m - 1; i >= x; i--) L = max(L, v +=...原创 2019-01-25 19:09:00 · 187 阅读 · 0 评论 -
分治法——巨人与鬼问题
题意:在平面上有n个巨人和n个鬼,没有三者在同一条直线上。每个巨人需要选择一个不同的鬼,向其发送质子流消灭它。质子流由巨人发射,沿直线行进,遇到鬼后消失。由于质子流交叉是很危险的,所有质子流经过的线段不能有交点。请设计一种给巨人和鬼配对的方法。 分析:主要就是把图上的点分成两份,每份中鬼和巨人一样多,依次递归,并保证不能有交点。 第一步,先找y轴最小的点,其次是x轴最小,按这个点为原点,划极坐...原创 2019-02-01 19:30:46 · 577 阅读 · 0 评论