算法学习
文章平均质量分 56
guoqiangma
这个作者很懒,什么都没留下…
展开
-
poj 2299 1804 2085 求逆序对
poj 2299 输入一个字串求逆序对个数: 思路:主要是利用归并排序,中间加入计数器,就可以了,注意使用scanf ,printf 减少输入输出时间,结果用__int64保存。poj 1804 求逆序对个数(同poj 2299)#include using namespace std; int a[500001]; int b[500001]; int n; __int64 res; void copy(int *a, int *b, int l, int r) { for (int原创 2010-11-30 20:08:00 · 580 阅读 · 0 评论 -
算法导论1_排序相关
算法导论视频第一集: 1、插入排序: 最坏的情况下: j 从2 到n 求和 => O(n2) 平均的情况下: j = n/2 => O(n2) 代码: ////////////////////////////插入排序//////////////// void insert(int x[]) { int i,j,num; int A[N]; for (i=0;原创 2010-12-07 21:19:00 · 462 阅读 · 0 评论 -
poj 1256/1732/1833/1146 C++stl全排列
<br />今天一口气做了关于全排列的4道题目,把这些放到这里,总结一下~<br />poj 1256 输出全排序,取出全排序中重复的<br />poj 1732 输出全排列<br />poj 1833 输出某个序列后的第几个全排序<br />poj 1146 输出某个序列后的全排列,无输出No Successor<br /> <br />poj 1731主要的代码如下<br /><br /> <br />Source Code#include<iostream>#include<stdio.h>#incl原创 2010-11-25 22:12:00 · 906 阅读 · 0 评论 -
背包九讲(转载)
<br />第一讲 01背包问题<br />这是最基本的背包问题,每个物品最多只能放一次。<br /><br />第二讲 完全背包问题<br />第二个基本的背包问题模型,每种物品可以放无限多次。<br /><br />第三讲 多重背包问题<br />每种物品有一个固定的次数上限。<br /><br />第四讲 混合三种背包问题<br />将前面三种简单的问题叠加成较复杂的问题。<br /><br />第五讲 二维费用的背包问题<br />一个简单的常见扩展。<br /><br />第六讲 分组的背包问题<转载 2010-11-17 13:21:00 · 482 阅读 · 0 评论 -
(优化的有限背包) poj 1742 Coins(转载)
最近在学习动态规划的背包问题,看了网上的背包九讲,感觉理解的比以前深入了一下,做了几道题,可是还是不够熟练,先练习一段时间,等熟练了在写个总结。CoinsTime Limit: 3000MS Memory Limit: 30000KTotal Submissions: 16723 Accepted: 5807DescriptionPeople in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar.O转载 2010-11-17 13:15:00 · 1153 阅读 · 1 评论 -
Poj 1221 动态规划
<br /> UNIMODAL PALINDROMIC DECOMPOSITIONSTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2580 Accepted: 1200<br />DescriptionA sequence of positive integers is Palindromic if it reads the same forward and backward. For example: <br />23 11 15 1转载 2010-12-28 20:58:00 · 856 阅读 · 0 评论 -
排序算法对比
排序算法对比1. 算法设计思想:(1) 冒泡排序:将数组a[0,1,···,n-1]看做是垂直排列的,每个元素值看做该气泡的重量,因为轻重量的气泡不能在重重量之下,所以从最后一个气泡开始和其前面一个比较,若下面的轻则交换,如此反复直到所有轻气泡都在上面,重的都在下面为止。(2) 选择排序:第一次循环从0的位置开始找所有元素中最小,与0位置元素交换···第i次循环从i-1的位置开始往后找此时最小元素与i-1元素交换,直到所有的都循环完。(3) 插入排序:像揭牌原创 2010-10-31 17:24:00 · 596 阅读 · 0 评论 -
蛇形填数(看准方向,循环)
<br /> 打印如下形式的矩阵;<br /> n=5:<br /> 1 2 9 10 25<br /> 4 3 8 11 24<br /> 5 6 7 12 23<br /> 16 15 14 13 22<br /> 17 18 19 20 21<br /><br /> n=6:<br /> 1 2 9 10 25 26<br /> 4 3 8 11 24 27<br /> 5 6 7 12 23 28<br /> 16 15 14 1原创 2010-10-31 16:53:00 · 527 阅读 · 0 评论 -
二叉树遍历
先序遍历: 根 ,左,右中序遍历: 左 ,根,右后序遍历: 左 ,右,根遍历的两种核心方法:1递归,2利用栈实现1递归实现#include #include #include using namespace std; #define OK 1 #define FALSE 0 typedef char status; typedef struct Node { status data; struct Node *LTree,*RTree; }BinaryTree; /*PreC原创 2010-12-03 20:54:00 · 480 阅读 · 0 评论 -
“分布式哈希”和“一致性哈希”的概念与算法实现
转自:http://stblog.baidu-tech.com/?p=42 分布式哈希和一致性哈希是分布式存储和p2p网络中说的比较多的两个概念了。介绍的论文很多,这里做一个入门性质的介绍。 分布式哈希(DHT) 两个key point:每个节点只维护一部分路由;每个节点只存储一部分数据。从而实现整个网络中的寻址和存储。 DHT只是一个概念,提出了这样一种网络转载 2012-03-08 20:54:15 · 345 阅读 · 0 评论