2011年7月28日

poj-1505 Copying Books ***

摘要: /* * DP * d[i][j] : 前i个人,分完1~j本书,d值满足:minimize the maximum number of pages assigned to a single scriber * d[k][m]即为所求 * * 状态转移方程:d[i][j] = min( max(d[i-1][t] , page[j] - page[t]) ) 其中: i-1 <= t <= j-1 (注意每个人至少一本书) * 其中 page[i] 为 1~i本书的总页数, page[j]-page[t] 即为第j个人分到的页数 * * 最后注意满足 “If there is mo 阅读全文

posted @ 2011-07-28 17:56 龙豆 阅读(491) 评论(0) 推荐(1)

算法导论-9.3-7

摘要: 【转】题目:给出一个O(n)时间的算法,在给定一个有n个不同数字的集合S以及一个正整数k<=n后,它能确定出S中最接近其中位数的k个数。——————————算法思想:1.找到数组a中第n/2小的数median;2.对a中非median数进行|a[i] - median|,得到一个大小为n - 1的数组distance;3.寻找distance中第k小的数值;4.对distance进行一次遍历,找到小于等于k的数,从而对应得到数组a中的k个数。上述每一步的时间复杂度都为O(n),因而最后总的时间复杂度为O(n).#include <iostream>#include <t 阅读全文

posted @ 2011-07-28 12:06 龙豆 阅读(391) 评论(0) 推荐(0)

导航