- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 (*p)[ ] 与*p[ ]的区别
(*p)[ ] 与*p[ ]的区别 1. int (*p)[2] 表示一个指向一维整型数组的指针 想想一个简单的指针, int *q = a; // int a[] = {1, 2, 3, 4}; 对于int (*p)[2] = a; // int a[][2] = {1, 2, 3, 4, 5, 6}; 只是对*q 的一个扩展, 由一维
2012-10-04 21:58:25 4426
原创 最长公共子序列
最长公共子序列: 两个字符串s,t中公共的,最长的,顺序严格递增的子序列。 从矩阵推出状态转化方程 例如: s = "abfcab", t = "abcfba" abfcaba1 1 b 1 1c 1 f
2012-10-04 11:31:38 427
原创 最长单调子序列
最长单调子序列1. 问题描述(HDU 1160) 给出一些老鼠的质量和速度, 求一串数据证明老鼠的质量和速度成反比例关系?2. 算法介绍 首先排序(由小到大), 第一关键字“质量”, 第二关键字“速度“ 最长单调子序列方法: Len(i)表示使证明成立的某串数据最后一只老鼠是第 i 只老鼠的该串长度。 对于第i + 1 只
2012-10-04 10:48:57 623
原创 DP -- 最大连续子段和
最大连续子段和 (HDU 1003)1.问题描述 给定一串整数, 例如 6 -1 5 4 -7, 求最大连续子段和?2.算法介绍 此题不能暴力, O(n^2)的时间复杂度必然超时。 考虑如下算法: 设Mi表示前i个整数包含第i个整数的最大连续子段和。 sum (i, j) 表示第i个整数到第j个整数的和, 最大连续子段和就是max
2012-10-04 09:37:11 510
原创 DP(1) --- 数塔
数塔问题1. 基本模型 (HDU 2084) 如上图所示数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 数塔思想:自顶向下分析,自底向上计算。 H(i) 表示第i层的最大值。要得到H(i + 1),则考虑上一层结点,到其相邻节点可取得的值,取最大值作为H(i + 1)。 如果按照上述做法,从顶到底算起,
2012-10-04 08:04:43 411
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人