摘要:题目:http://poj.org/problem?id=1200最近看了一个关于hash的问题,不是很明白,于是乎就找了些关于这方面的题目,这道题是一道简单的hash 字符串题目,就先从他入手吧。题目说字串的最大数量不超过16Millions,也就是字串的存储16000000就够了。查看网上给出的...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=2680/************************************************************************//* hdu Arbitrage dijkstra算法 题目大意:dijkstra算法,求点与点之间最短距离。因为此题的起始点不定,所以可用 反向图来求得,终点确定,从终点出发,dijkstra算法,求出其他点到终点最小距离。 本题数据量较大,用floyd算法超时。*//...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1217/************************************************************************//* hdu Arbitrage floyd求最短路径 题目大意:floyd算法,求得两点之间最短距离,(u,v) = min( (u,v),(u,w)+(w,v) ); 此题,是求其能够赚钱,即最大生成树,且过程是相乘的,公式:( u, v) = max( (u,v), (u,w)*(w,v...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=2544方法一:dijkstra算法,求两点之间最短路径。/************************************************************************//*...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=3371984ms风险飘过~~~/************************************************************************//* hdu Connect the Cities 最小生成树 题目大意:最小生成树,题目很长,题意很简单就是最小生成树。关键是构建图*//********************************************************************...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1301/************************************************************************//* hdu Jungle Roads 最小生成树 题目大意:最小生成树,题目很长,题意很简单就是最小生成树,prim算法模拟*//************************************************************************/#include #i...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1875/************************************************************************//* hdu 畅通工程再续 有条件的最小生成树 题目大意:在这些小岛中建设最小花费的桥,但是一座桥的距离必须在10 -- 1000之间。*//************************************************************************/#inclu...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874/************************************************************************//* hdu 畅通工程续 dijkstra求起始点到目标点最短距离 题目大意:求这些村子中从起始位置到目标点的最短距离 解题思路:dijkstra算法,求图中两个点的最短距离, dijkstra算法不同于prim算法,prim算法是求虽小生成树, 不断地把点最近的点...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1879/************************************************************************//* hdu 继续畅通工程 最小生成树 题目大意:求连通这些村庄最少的建设公路费用 解题思路:最小生成树,有的路已修建完成,费用记为0, 计算剩下的这些村子建设路的费用最小值,找出一个最小生成树*//****************************...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1233/************************************************************************//* hdu 还是畅通工程 最小生成树 题目大意:求连通这些村庄最少的建设公路长度 解题思路:最小生成树,所有的这些村子放在一个图中,找出一个最小生成树*//****************************************************************...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1232/************************************************************************//* hdu 畅通工程 最简单的并查集 题目大意:求建设最少的路径使得道路畅通 解题思路:并查集,利用并查集,合并可达的集合,即连通的地方为一个集合,计算集合数目; 集合数目减少1即为需要修道路数目*//*************************...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1162/************************************************************************//* hdu Eddy's picture 最小生成树 题目大意:在坐标轴上存在n个点,求这n个点组成的最小图,使得图的总路径最短 解题思路:求最小生成树*//***************************************************************...
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1102/************************************************************************//* hdu Constructing Roads 最小生成树 题目大意:在N个村子中已经存在部分存在连通,建最少长度的路使得所有的村子连通。 解题思路:已经连通的村子其中间的路径作为0,即修建的时候修建为0耗费,求这些节点的最小生成树。*//*********************...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3183#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>/**rmq 问题:题意很简单,求一行数字中除去其中m个数字,使其组成最小的一个数字使用rmq解题,设源数字长为n,那么除去m个数字后剩下的还剩n-m个数字,组成最小的数字。(1)因为剩下n-m个数字,那么在1到m+1位置中最小的那个数字必是结果中的第一个数字i,(2)然后从这个数字i位置的下个位置i+
阅读全文
摘要:题目链接:http://poj.org/problem?id=3264第一次做rmq问题,据说这道题是最简单的rmq问题了。。。题意很简单了,就是给一组数据,随即的求出某个区间内最大数和最小数之差。查了许多资料,首先rmq原理:用A[1..N]表示一组数,F[I,J]表示从A[I]到A[I+2^J-...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3584分析:题意很简单,就是一个在三维上变化的,输入区间时把这个区间的上的1变为0,0变为1,输入查询时,求出即可。刚开始想到是线段树,可是三维无从下手,网上查了一些答案,使用的都是树状数组,更新时要注意...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166分析:第一次接触到线段树,上网看了一些资料,发现这道题可以用树状数组来代替线段树解决,似乎用起来更方便,于是乎就找了树状数组的资料来看,这里有一个是我从网上摘抄的树状数组的资料 树状数组不是很齐全,但是初学者已经够用了。里边有基本的模板代码。这道题是中文题目,题意很简单,就是典型的树状数组,线段树题目。树状数组解法#include <iostream>#include <cstdio>#include <cstring>#include <algori
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1053分析:这道题目是一道很典型的哈夫曼树问题,哈夫曼树(见百度百科)总之一句话,主要作用就是用来解决压缩编码问题,相信学过离散数学的同学都应该学过这个神奇的数据结构。(1)建立哈夫曼树节点结构体typedef struct Huffman_trie{ int deep;//深度 int freq;//频度(即哈夫曼树中的权重) Huffman_trie *left,*right; //优先权队列中用于排序比较的方法,不懂的建议先学一学优先权队列 friend ...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3357分析:本题并不是多么高深的题目,一开始看到题目时以为判断判断图中是否有环,那不是经典的拓扑排序嘛,后来仔细一看这不仅要判断是否有环,而且要数出来会造成环的边,一般的思路是一个一个边的加入,然后判断是否出现环了,如果出现那么条边就不要加入,如果没出现则加入这条边。增加边时注意这几点:(1)前提:加入a,b a->b(2)当一个节点可以到达a时,那么这个节点也可以到达b(3)所有b节点能够到达的节点,a节点也能够到达,此时所有能够到达b节点的节点也能够到达b节点所能到达的节点(重点理解)。#
阅读全文
摘要:题目连接 :http://acm.hdu.edu.cn/showproblem.php?pid=1285拓扑排序,很明显的一道拓扑排序的问题,用一个二维数组存储两个数字之间的关系,如果某个数大于另一个数,那么它们之间的关系为1,否则为0.如果存在关系为1的两个数据,那么行表示比列大。列的下标入度自增1.然后使用拓扑排序思想依次取出每个节点。此题可参考类似题目http://www.cnblogs.com/newpanderking/archive/2012/10/16/2726757.html这也是一道经典的拓扑排序#include <cstdio>#include <cstr
阅读全文