摘要: 原文地址:背包问题九讲(转)作者:heitiantan背包问题九讲第一讲 01背包问题第二讲完全背包问题第三讲多重背包问题第四讲混合三种背包问题第五讲二维费用的背包问题第六讲分组的背包问题第七讲有依赖的背包问题第八讲泛化物品第九讲背包问题问法的变化附录:背包问题的搜索解法目录第一讲 01背包问题这是最基本的背包问题,每个物品最多只能放一次。第二讲 完全背包问题第二个基本的背包问题模型,每种物品可以放无限多次。第三讲 多重背包问题每种物品有一个固定的次数上限。第四讲 混合三种背包问题将前面三种简单的问题叠加成较复杂的问题。第五讲 二维费用的背包问题一个简单的常见扩展。第六讲 分组的背包问题一种题 阅读全文
posted @ 2012-08-07 21:44 苦逼程序猴 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串的集合,格式如:{aaabbbccc},{bbbddd},{eeefff},{ggg},{dddhhh}要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出{aaabbbcccdddhhh},{eeefff},{ggg}。 (1)请描述你解决这个问题的思路; (2)请给出主要的处理流程,算法,以及算法的复杂度 (3)请描述可能的改进。回答: 集合使用hash_set来表示,这样合并时间复杂度比较低。 1、给每个集合编号为0,1,2,3... 2、创建一个hash_map,key为字符串,value为一个链表,链表节点为字符串所在集合的编号... 阅读全文
posted @ 2012-08-07 21:41 苦逼程序猴 阅读(187) 评论(0) 推荐(0) 编辑
摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace HellWorld{ class Program { public static void PrintSumProbabilityOfDices(int num) { int max = num*6; int[,] arr = new int[num + 1,max + 1]; for (int i = 1;... 阅读全文
posted @ 2012-08-07 21:39 苦逼程序猴 阅读(296) 评论(0) 推荐(0) 编辑