
算法
文章平均质量分 50
0xAaron
do
读书工作生活
while(1)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
DP 最长公共子序列
/* 解题报告 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1159 算法:DP 最长公共子序列 思路: 最长公共子序列,英文缩写为LCS(Longest Common Subsequence)。其定义是,一个数列 S ,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。 d转载 2012-12-25 21:12:53 · 795 阅读 · 0 评论 -
全排列的STL实现
全排列在很多程序都有应用,是一个很常见的算法,常规的算法是一种递归的算法,这种算法的得到基于以下的分析思路。 给定一个具有n个元素的集合(n>=1),要求输出这个集合中元素的所有可能的排列。例如,如果集合是{a,b,c},那么这个集合中元素的所有排列是{(a,b,c),(a,c,b),(b,a,c),(b,c,a),(c,a,b),(c,b,a)},显然,给定n个元素共有n!种不同的排列,转载 2013-03-18 23:33:24 · 835 阅读 · 0 评论 -
STL系列之十 全排列(百度迅雷笔试题)
全排列在笔试面试中很热门,因为它难度适中,既可以考察递归实现,又能进一步考察非递归的实现,便于区分出考生的水平。所以在百度和迅雷的校园招聘以及程序员和软件设计师的考试中都考到了,因此本文对全排列作下总结帮助大家更好的学习和理解。对本文有任何补充之处,欢迎大家指出。 首先来看看题目是如何要求的(百度迅雷校招笔试题)。 用C++写一个函数, 如 Foo(const char *str),转载 2013-03-18 22:18:40 · 1048 阅读 · 0 评论 -
装载问题(回溯)
算法设计例题:装载问题(回溯、分枝限界) memory limit: 5000KB time limit: 500MS accept: 34 submit: 82 Description 有一批概共n个集装箱要装上两艘载重量分别为c1和c2的轮船,其中,集装箱i的重量为wi,且 。 装载问题要求确定是否有一个合理的装载方案可将这n个集装箱装上这两艘轮船。 Input原创 2013-03-18 16:40:14 · 3753 阅读 · 1 评论 -
符号三角形问题(回溯)
[cpp] view plaincopy /*回溯法解符号三角形问题 问题描述: 如下图是由14个“+”和14个“-”组成的符号三角形, 2个同号下面都是“+”,2个异号下面都是“-”。 - + + - + + + - + - - + + - - + - + + - - - - + + -转载 2013-03-02 10:01:27 · 11732 阅读 · 1 评论 -
哈夫曼编码(贪心)
算法设计例题:哈夫曼编码(贪心) memory limit: 32768KB time limit: 1000MS accept: 4 submit: 8 Description 给定字符出现的频率,构造哈夫曼编码。 设定哈夫曼树左子树编码为0,右子树编码为1。 Input 输入的第一行为测试样例的个数T( T Output原创 2013-03-03 13:53:29 · 5916 阅读 · 0 评论 -
计算下一个全排列(以STL中的next_permutation为例)
c++中algorithm头文件是STL的算法部分,里边定义了各种算法,比如sort之类的。加上algorithm就可以使用stl库里的各种算法了。 #include里面提了两各种排序,分别为升序,降序。 next_permutation(arr,arr+N); prev_permutation(arr,arr+N) 下面的例为: #include #include using转载 2013-03-08 23:20:48 · 2401 阅读 · 0 评论 -
多机调度问题(贪心)
算法设计例题:多机调度问题(贪心) memory limit: 32768KB time limit: 1000MS accept: 9 submit: 19 Description 设有n个独立的作业{1,2,…,n},由m台相同的机器进行加工处理。作业i所需的处理时间为ti。现约定,每个作业均可在任何一台机器上加工处理,但未完工前不允许中断处理。作业不能原创 2013-03-08 22:33:41 · 10638 阅读 · 2 评论 -
主元素问题(随机算法)
算法设计例题:主元素(随机算法) memory limit: 5000KB time limit: 1000MS accept: 1 submit: 5 Description 设T[1:n]是一个含有n个元素的数组(集合)。当 | {i | T[i]=x} | > n/2 时,称元素x是数组T的主元素。 Input 第一行是一个正整数T,表示测试用原创 2012-12-29 19:20:09 · 6268 阅读 · 2 评论 -
最优装载(贪心)
算法设计例题:最优装载(贪心) memory limit: 32768KB time limit: 1000MS accept: 24 submit: 68 Description 有一批集装箱要装上一艘载重量为C的轮船。其中集装箱i的重量为wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。 Input 输入的第一个为测试样例的个数T原创 2012-12-28 21:52:40 · 3089 阅读 · 0 评论 -
最长公共子序列(DP)
算法设计例题:最长公共子序列(DP) memory limit: 65536KB time limit: 500MS accept: 50 submit: 124 Description 一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列 X = { x1,x2,…,xm },则另一序列Z={ z1,z2,…,zk },X的子原创 2012-12-28 11:56:31 · 1683 阅读 · 0 评论 -
旅行售货问题(回溯)
算法设计例题:旅行售货员问题(回溯、分枝限界) memory limit: 5000KB time limit: 2000MS accept: 4 submit: 5 Description 旅行售货员问题又称TSP问题,问题如下:某售货员要到若干个城市推销商品,已知各城市之间的路程(或旅费),他要选定一条从驻地出发,经过每个城市一遍最后回到驻地的路线,使总的路原创 2012-12-28 15:05:42 · 4699 阅读 · 1 评论 -
图的m着色问题(回溯)
算法设计例题:图的m着色(回溯) memory limit: 5000KB time limit: 2000MS accept: 8 submit: 14 Description 给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色。是否有一种着色法使G中每条边的2个顶点着不同颜色,求有多少种方法为图可m着色。 Input原创 2012-12-28 11:51:33 · 7522 阅读 · 0 评论 -
最优装载(贪心算法)
算法设计例题:最优装载(贪心) memory limit: 32768KB time limit: 1000MS accept: 24 submit: 68 Description 有一批集装箱要装上一艘载重量为C的轮船。其中集装箱i的重量为wi。最优装载问题要求确定在装载体积不受限制的情况下,将尽可能多的集装箱装上轮船。 Input 输入的第一个为原创 2012-12-26 23:53:08 · 6861 阅读 · 2 评论 -
批处理作业调度(回溯)
算法设计例题:批处理作业调度(回溯) memory limit: 5000KB time limit: 2000MS accept: 13 submit: 33 Description 给定n个作业的集合 J = { J1,J2,…,Jn }。每一个作业Ji都有两项任务分别在两台机器上完成。每个作业必须先由机器1处理,然后由机器2处理。作业Ji需要机器j的处理时间为tji,其实原创 2013-03-22 09:49:37 · 1786 阅读 · 0 评论