2015年1月26日

Full knapsack

摘要: 完全背包问题题目:有N种物品和一个容量为v的背包,每种物品都有无限件可用。第i种物品的费用是c[i],价值是w[i]。求解将那些物品装入背包可使这些物品的费用总和不超过背包容量且价值最大。基本思路:这个问题非常类似于01背包问题,所不同的是每种物品无限件。也就是从每种物品的角度考虑,与他相关的策略已... 阅读全文

posted @ 2015-01-26 21:31 M.D.LUFFI 阅读(123) 评论(0) 推荐(0) 编辑

0_1 Package

摘要: 0-1背包问题0-1背包问题:问题:有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解:将那些物品装入背包使这些物品的费用总和不超过背包容量,且价值总和最大。提示:每种物品只有一件,可以选择放或者不放。算法基本思想:利用动态规划思想:子问题:f[i][v] 表示前i件物... 阅读全文

posted @ 2015-01-26 14:50 M.D.LUFFI 阅读(181) 评论(0) 推荐(0) 编辑

2014年12月31日

Union Find

摘要: 并查集并查集 :是一种树型的数据结构,常用语处理一些不相交集合的合并及查询问题。为了解释并查集的原理,我将举一个更有爱的例子。 话说江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的,就免不了要打一架。但大侠们有一个优点就是讲义气,绝对不... 阅读全文

posted @ 2014-12-31 17:24 M.D.LUFFI 阅读(233) 评论(0) 推荐(0) 编辑

BiTree

摘要: 二叉树二叉树是每个节点最多有两个子树的树结构。通常子树被称作 左子树 和 右子树。二叉树常被用于实现二叉查找树。二叉树的每个节点至多只有2棵子树(不存在度大于2的节点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2i-1结点;深度为k的二叉树至多有2k - 1个结点;对任何一棵二叉树... 阅读全文

posted @ 2014-12-31 15:37 M.D.LUFFI 阅读(454) 评论(0) 推荐(0) 编辑

2014年12月29日

Trie

摘要: TrieTrie:又称前缀树或者字典树,是一种树形结构,是哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀节约存储空间,最大限度地减少无所谓的字符串比较,查询效率比哈希表高。字典树与字典很相似,当你... 阅读全文

posted @ 2014-12-29 15:56 M.D.LUFFI 阅读(318) 评论(0) 推荐(0) 编辑

2014年12月27日

Binary_Indexed_Tree (BIT)

摘要: 树状数组树状数组:是一种设计新颖的数组结构,它能够高效地获取数组中连续n个数的和。线性结构只能逐个扫描元素,而树状结构可以实现跳跃式扫描。概括说:树状数组通常用于解决以下问题:数组{a}中的元素可能不断地被修改,怎样才能快速地获取连续几个数的和?一般讲到树状数组都会少不了下面这个图:下面来解析该图,... 阅读全文

posted @ 2014-12-27 18:17 M.D.LUFFI 阅读(175) 评论(0) 推荐(0) 编辑

Greatest_Common_Divisor(GCD)

摘要: 最大公约数给出两个数字A和B,求两者的最大公约数。假设A是比较大的数字,先看B是否能整除A。若果能整除: 直接输出B。若果不能整除: 让A等于原来的B,新的B等于原来的A模上原来的B,此时再看B是否能整除A。重复上面的步骤即可。代码: 1 #include 2 #define N 24 3 #... 阅读全文

posted @ 2014-12-27 17:12 M.D.LUFFI 阅读(220) 评论(0) 推荐(0) 编辑

Chose_Prime

摘要: 素数筛选素数也叫质数,即只能被1和自己本身整除的数。在程序中,怎样筛选出在一定范围内中的素数呢?我们可以这样做:① 先从2开始找,然后删去这一范围中所有能被2整除的数。② 找到下一个没有被删去的数字n。③ 删去这一范围内中所有能整除n的数。④ 如果n*n>"范围最大值"就跳出,否则跳到第②步。代码:... 阅读全文

posted @ 2014-12-27 16:48 M.D.LUFFI 阅读(177) 评论(0) 推荐(0) 编辑

Delete_The _Selected_Prime

摘要: 1 #include 2 #include 3 #define N 99999 4 5 using namespace std; 6 7 bool flag[N]; 8 9 void prime()10 {11 for (int i = 2; i < N; i++)12 ... 阅读全文

posted @ 2014-12-27 16:10 M.D.LUFFI 阅读(170) 评论(0) 推荐(0) 编辑

Doubly_Linked_List

摘要: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 struct Dulist 9 {10 int data;11 Dulist *prior;12 Dulist *n... 阅读全文

posted @ 2014-12-27 14:48 M.D.LUFFI 阅读(191) 评论(0) 推荐(0) 编辑

导航