STL系列之十 全排列(百度迅雷笔试题)(转载)
摘要:全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,因此本文对全排列作下总结帮助大家更好的学习和理解。对本文有任何补充之处,欢迎大家指出。首先来看看题目是如何要求的(百度迅雷校招笔试题)。用C++写一个函数, 如 Foo(const char *str), 打印出 str 的全排列,如 abc 的全排列: abc, acb, bca, dac, cab, cba一.全排列的递归实现为方便起见,用123来示例下。123的全排列有123、132、213、231、312、32
阅读全文
posted @
2013-03-17 13:44
PegasusWang
阅读(192)
推荐(0)
多重背包详解(转)
摘要:文章作者:Yx.Ac 文章来源:勇幸|Thinking(http://www.ahathinking.com) 转载请注明,谢谢合作。---前面已经回顾了01背包和完全背包,本节回顾多重背包的几种实现形式,主要有以下几方面内容:==多重背包问题定义 & 基本实现==多重背包二进制拆分实现==防火防盗防健忘========================================多重背包问题定义&基本实现问题:有个容量为V大小的背包,有很多不同重量weight[i](i=1..n)不同价值value[i](i=1..n)的货物,第i种物品最多有n[i]件可用,计算一下最多能
阅读全文
posted @
2013-01-23 17:21
PegasusWang
阅读(444)
推荐(0)
完全背包详解(转)
摘要:文章作者:Yx.Ac 文章来源:勇幸|Thinking(http://www.ahathinking.com) 转载请注明,谢谢合作。---前面回顾了01背包,在此基础上本节回顾完全背包的几种实现形式,主要有以下几方面内容:==完全背包问题定义 & 基本实现==完全背包二进制拆分思想==完全背包使用滚动数组(略)==完全背包中的逆向思维==完全背包使用一维数组========================================完全背包问题定义&基本实现问题:有个容量为V大小的背包,有很多不同重量weight[i](i=1..n)不同价值value[i](i=1..n
阅读全文
posted @
2013-01-23 17:20
PegasusWang
阅读(415)
推荐(0)
01背包详解(转)
摘要:文章作者:Yx.Ac 文章来源:勇幸|Thinking(http://www.ahathinking.com) 转载请注明,谢谢合作。---四月份还没写,不能这么荒废了呀,赶紧水一篇吧,哈哈。前些日子回顾了DP的一些基础,就做一下整理吧,从0-1背包开始。本节回顾0-1背包的基本模型,关于它的实现有很多种写法,这里对不同实现做个简单列举,主要是写代码练手了,主要有以下几方面内容:==0-1背包问题定义 & 基本实现==0-1背包使用滚动数组压缩空间==0-1背包使用一维数组==0-1背包恰好背满==0-1背包输出最优方案=================================
阅读全文
posted @
2013-01-23 17:18
PegasusWang
阅读(253)
推荐(0)
背包九讲(转)
摘要:下载地址在http://love-oriented.com/pack/pack2beta1.pdf 全文各章语言均有更新,更新最大的章节是 3.4,提供了多重背包可行性问题的一种简明的O(VN)解法。 本文IOIFORUM首发,欢迎转载,但请保留出处。作者Tianyi Cui (崔添翼)http://cuitianyi.com/目录第一讲01背包问题第二讲完全背包问题第三讲多重背包问题第四讲混合三种背包问题第五讲二维费用的背包问题第六讲分组的背包问题第七讲有依赖的背包问题第八讲泛化物品第九讲背包问题问法的变化附:USACO中的背包问题前言本篇文章是我(dd_engi)正在进行中的一个雄心勃勃的
阅读全文
posted @
2013-01-23 10:39
PegasusWang
阅读(242)
推荐(0)