- 博客(6)
- 资源 (3)
- 收藏
- 关注
原创 Trie树(HDOJ1075)
一 描述Trie,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。二 本题是要根据词典,来翻译句子,数据结构struct trie_node{ char trans[11];//翻译
2012-02-29 22:40:47 502
原创 最近点对(HDOJ1007)
一 问题描述假设平面内有N个点,每个点以坐标(x, y)给出,N的数据量很大,如何求出其中最近的两个点。二 算法一种方法是暴力,通过枚举任意两个点,找到最小的,一共要比较C(n, 2)次,故实践复杂度为O(n2)。另外一种解法用到了分治的思想,步骤为:把所有点按x坐标的大小排序,从中间一份为二。最近点对有三种情况,都在左边,都在右边,左右都有递归求出都在左边和都在右
2012-02-26 19:59:58 2521
原创 最长公共子序列(hdoj1159)
一 问题描述最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。比如,序列{a , b , c , b , d , a , b} 和 {b , d , c , a , b , a}
2012-02-24 17:11:54 475
原创 最大子矩阵(poj1050)
一 描述矩阵的最大子矩阵和。比如:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2 拥有最大和的子矩阵为:9 2-4 1-1 8其和为15。二 代码#include #include using namespace std;int r[1002][1002];int main(){ freopen("in.txt
2012-02-23 19:53:04 328
原创 循环节(hdoj1005)
一 问题描述A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.Given A, B, and n, you are to calculate the value of f(n).二 解法显然,由于取余的关系,连续的两个数f[
2012-02-22 22:27:23 814
原创 最大子串和(HDOJ1003)
最大子串和是一道经典的动态规划问题。具体问题是指,在一串连续的数字中,找到一个最大的字串,它们的和在所有的子串中最大,比如序列,6,-1,5,4,-7,它的连续最大段子串和就是:6 + (-1) + 5 + 4 = 14. 假设a[]为原始数据串。定义dp[i]为:以a[i]为结尾的最大子串和。那么显然:递推式为:dp[i] = max{dp[i-1] + a[i] , a[i]}
2012-02-22 09:58:20 532
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人