数据结构
文章平均质量分 72
muximuxi525
有些事情暂时可以放下但是绝不能放弃
展开
-
POJ 3253 哈夫曼树
题目大意:就是农夫钜木,费用是木板的长度,求最小费用。怎么联想到是哈夫曼树模型呢?关键字:顺序不同,则费用不同,哈夫曼树的特点就是:给定n个叶子节点,可以使得带权路径长度最小。对于本题,怎样使得每块木板在最短的榉木次数下就可以锯出来(关键字:每块木板),这样就是费用最小的情况,那肯定是先钜大块的木,再从大块的木中钜小块。把一个分支看成钜一次木,所以钜一次木就是一个单位长度路径,哈夫曼树的模型就出来原创 2012-08-08 10:45:47 · 831 阅读 · 0 评论 -
POJ 2513 trie+并查集+欧拉路
题目大意:每根木棒两端有颜色,能否拼成一条线,当然连接木棒的两端颜色要相同。思路:欧拉路:(1)、该图是连通的(2)、节点度数为偶数,或者奇数度节点数不超过2。并查集可以很好求得连通性,至于节点就是每一种颜色,要用到并查集就要用到数字编号,所以就要把每一种颜色的的编号表示出来,所以用到trie。 program:#include#define maxn 500005 int转载 2012-08-11 10:22:24 · 4649 阅读 · 0 评论 -
POJ2002
题目大意:给出散点,求构成正方形的个数有多少?思路:给出的是散点,通过2个点来枚举,但是通过公式求得的点 如果是通过线性查找来验证肯定是超时的,因为执行10^9次(O(N^3)),所以要考虑哈希表和二分查找//Memory Time//652K 1438MS #includeusing namespace std;const int prime=1999; //长度转载 2012-08-19 21:15:39 · 900 阅读 · 2 评论 -
暑期多校联赛K题 哈夫曼树编码
K、Encode Time limit: 1.000 secondsGiven a string S, you need to use N different characters will be encoded into a string.InputLine 1: S Waiting for the原创 2012-08-25 21:23:28 · 1469 阅读 · 0 评论 -
POJ2503 Babelfish
题目大意:给出英语 --- A国语言 ,然后输入A国语言单词,问在字典内是否有该单词,有就输出该单词英文,无则输出eh;思路:典型的先保存再查找,有好几种解法,我用得是hash,但是再用链表的时候无限WA啊,也不知道是那个字符串哈希有问题还是链表出了问题,求强力数据找BUG啊 AC program:(数组哈希) #include#include#include#inc原创 2012-09-10 22:14:42 · 680 阅读 · 0 评论 -
POJ 2001 trie字典树
题目大意:输出唯一能标志该单词的前缀。思路:建立字典树,在查找字典树的时候输出该单词的字母直到 该单词的字母cnt=1 或者读完整个单词#includeusing namespace std;char tmp[1001][21];struct node{ node *next[26]; int cnt; }*root ; void maketrie(char原创 2012-08-08 16:21:13 · 633 阅读 · 0 评论 -
最小生成树
prime模板核心代码:for(j = 1; j { if(lowcost[j] != 0 && lowcost[j] > dis[choose] [j] ) //在这里第一条找到的边是6,那么此时的choose是2,这里的意思就是://原点到某一点的距离大于被标记的这一点到其余一点的距离,即使说,原点到这些点都可以更新//也就是相当于找到2后,然后再更新的原创 2012-09-05 20:34:09 · 717 阅读 · 0 评论 -
froyd求最短路径基础算法
求最短路径当中形式最好看的算法。也很容易理解。核心思想:通过加入k顶点,然后求出各顶点到其余顶点中间结点编号不大于k的最小值。DP思想体现:froyd是一个经典的DP求解最短路径的算法,采用自底向上方式计算路径。这里这个ki(i=1——n)不妨看成是一个阶段,每一个ki加入就是在每一个阶段做出决策:从i到j的最短路径上是否包含结点k。上一个状态:Dk-1【i】【j】当前状态:Dk【原创 2012-07-14 16:25:26 · 842 阅读 · 0 评论 -
HDU 1879 继续畅通工程
题目大意: n个村庄,两两有路,有一些已经建成,有一些未建成,问求使得任意两个村庄都可以连通的最小费用思路:已经建成的路令其费用为0,求最小生成树即可.解法一:这里用最简单的prim+邻接矩阵:果断很慢O(n^2)450msAC Program:#include #include #include #include #include #include typedef l原创 2013-05-07 20:17:02 · 799 阅读 · 0 评论