ACM解题报告
ztk329
这个作者很懒,什么都没留下…
展开
-
01背包问题
背包问题有0-1背包问题和fraction背包问题,前者规定每个物品要么选,要么不选,而fraction knanpsack允许选取一个物品的一部分,0-1背包问题是NP难的,而fraction knapsacks的复杂度是O(n*logn), 只需要将单位物品的价值按降序排列,利用贪心策略选取即可得到最优解。 给定一个背包,容量为C,有n个物品,重量为n维行向量w,价转载 2014-11-20 18:34:22 · 290 阅读 · 0 评论 -
最长递增子序列问题的求解
最长递增子序列问题是一个很基本、较常见的小问题,但这个问题的求解方法却并不那么显而易见,需要较深入的思考和较好的算法素养才能得出良好的算法。由于这个问题能运用学过的基本的算法分析和设计的方法与思想,能够锻炼设计较复杂算法的思维,我对这个问题进行了较深入的分析思考,得出了几种复杂度不同算法,并给出了分析和证明。 一, 最长递增子序列问题的描述 设L=a1,a2,…,an>是n个不同转载 2014-11-20 10:08:57 · 370 阅读 · 0 评论 -
错排
记录下 错排:n封信放入n个信封,要求全部放错,共有多少种放法,记n个元素的错排总数为f(n) 假设有n封信,第一封信可放在(2-n)的任一个信封里,共n-1种放法,设第一封信放在了第k个信封里,若此时第k封信放在了第1个信封里,则只要将剩下的n-2错排,即f(n-2),若第k封信没有放在了第1个信封里,可将第1封信的位置看成是“第k个位置”,即将n-1封信错排,即转载 2014-12-19 14:01:35 · 306 阅读 · 0 评论