2010年8月14日
摘要: 时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理)排序算法(平方排序算法的应用,Shell排序,快速排序,归并排序,时间复杂度下界,三种线性时间排序,外部排序)数论(整除,集合论,关系,素数,进位制,辗转相除,扩展的辗转相除,同余运算,解线性同余方程,中国剩余定理)指针(链表,搜索判重,邻接表,开散列,二叉树的表示,多叉树的表示)按位运算(and,or,xor,shl,... 阅读全文
posted @ 2010-08-14 09:31 yongmou- 阅读(487) 评论(0) 推荐(0) 编辑
  2010年8月12日
摘要: 想想自己写程序也有两年了,刚开始用VC6.0,这东西真破;后来很自然用起vs2008,不错倒是不错,也太大了,安装麻烦;接触linux后,就用起了emacs,自己写makefile,很原始,很喜欢emacs的快捷键,特别是光标控制,导致现在写点东西都老是ctrl+n、ctrl+p的,这种方式太原始了,后来偶然间发现eclipse内建了三套快捷键,default, vs, 还有就是emacs的,于是... 阅读全文
posted @ 2010-08-12 11:41 yongmou- 阅读(2480) 评论(0) 推荐(0) 编辑
  2010年8月1日
摘要: 题意:一个渡河问题,船每次最多可以载n辆车,单程渡河的时间是t,有m辆车要渡河,问最少时间把所有车运过河去的时间是多少,这个情况下,最少的运输次数是多少。分析:确实是动态规划,惭愧我想了很久,也没想出状态转移方程,主要是因为我一直想把过河时间和次数放在一起表示状态,其实,过河时间做状态就行了,也必须只用过河时间做状态,因为要求的是过河时间的最小值。dp[i]表示第i辆车通过河的最小时间, trip... 阅读全文
posted @ 2010-08-01 08:19 yongmou- 阅读(1184) 评论(0) 推荐(0) 编辑
  2010年7月30日
摘要: 树型动态规划就是在“树”的数据结构上的动态规划,平时作的动态规划都是线性的或者是建立在图上的,线性的动态规划有二种方向既向前和向后,相应的线性的动态规划有二种方法既顺推与逆推,而树型动态规划是建立在树上的,所以也相应的有二个方向:  1.根—>叶:不过这种动态规划在实际的问题中运用的不多,也没有比较明显的例题,所以不在今天讨论的范围之内。  2.叶->... 阅读全文
posted @ 2010-07-30 10:38 yongmou- 阅读(1023) 评论(0) 推荐(0) 编辑
  2010年7月28日
摘要: 1.joj 2391 words 题意:给不超过12个word,找出最长的单词序列,其中,前一个单词的最后一个字母,等于后一个单词的第一个字母。 思路:刚开始,我以为水题,直接以每一个单词为起点进行DFS,搜索中记录最大值,结果TLE。必须剪枝了,想了老长时间,就是没想出怎么处理出现回路的问题,中午坐电脑前,忽然有了个思路。就是记录以每个word作为第一个word的长度,并且在搜索中由后向前搜,这... 阅读全文
posted @ 2010-07-28 12:32 yongmou- 阅读(940) 评论(0) 推荐(0) 编辑
  2010年7月27日
摘要: 二分图是一种特殊类型的图,图中的顶点集被划分成X与Y两个子集,图中每条边的两个端点,一定是一个属于X另一个属于Y。二分图的匹配是求边的一个子集,该子集中的任意两条边都没有公共的端点。含边数最多的匹配即为二分图的最大匹配;如果给二分图的边加权,则边权和最大的匹配即为最佳匹配。  如果可以以某种方式将研究的对象分成两个互补的集合,而需要求得他们之间满足某种条件的“一一对应”关系... 阅读全文
posted @ 2010-07-27 21:34 yongmou- 阅读(333) 评论(0) 推荐(0) 编辑
  2010年7月23日
摘要: 题意:  一个R*C的海面,1<= R、C<=1000,上面每个点都有八个方向之一的current,顺着流走一个单位cost 0,不顺着走一个单位cost 1。计算由一个初始位置到结束位置最小的cost.思路:  本来用A*,TLE,想想主要是因为A*考虑访问过的顶点,其实,这个题A*用的很憋屈,启发函数必须设成0。后来还是用了BFS,用两个队列,先把cost为0的全部入队列1,然后由... 阅读全文
posted @ 2010-07-23 06:53 yongmou- 阅读(257) 评论(0) 推荐(0) 编辑
  2010年7月20日
摘要: 【关键词】深度优先搜索 ,广度优先搜索,估价函数,A*,IDA*【Keyword】deep first search(DFS),breadth first search(BFS),valuation function,A*,IDA*【摘要】搜索是ACM竞赛中的常见算法,本文的主要内容就是分析它的 特点,以及在实际问题中如何合理的选择搜索方法,提高效率。文章的第一部分首先分析了各种基本的搜索及其各自... 阅读全文
posted @ 2010-07-20 10:20 yongmou- 阅读(466) 评论(0) 推荐(0) 编辑
摘要: [代码] 阅读全文
posted @ 2010-07-20 10:07 yongmou- 阅读(345) 评论(0) 推荐(0) 编辑
  2010年7月19日
摘要: 经典的八数码问题,有人说不做此题人生不完整,哈哈。状态总数是9! = 362880 种,不算太多,可以满足广搜和A*对于空间的需求。状态可以每次都动态生成,也可以生成一次存储起来,我用的动态生成,《组合数学》书上有一种生成排列的方法叫做"序数法",我看了一会书,把由排列到序数,和由序数到排列的两个函数写了出来,就是代码中的int order(const char *s, int n) 和void ... 阅读全文
posted @ 2010-07-19 18:34 yongmou- 阅读(8611) 评论(12) 推荐(1) 编辑