题目链接:
huangjing
思路:
输出路径的最短路变种问题。。这个题目在于多组询问,那么个人觉得用floyd更加稳妥一点。还有就是在每个城市都有过路费,所以在floyd的时候更改一下松弛条件即可。。那么输出路径怎么办呢??我采用的是输出起点的后继而不是终点的前驱。。因为我们关心的是路径字典序最小,关心的是起点的后继。。。那么打印路径的时候就直接从前向后打印,这个和dijkstra的...
分类:
其他好文 时间:
2014-08-21 09:50:13
阅读次数:
296
题目:给你两个文章,求里面最多的按顺序出现的单词。
分析:dp,LCS(最大公共子序列)。直接求最大公共子序列,每个单词当做一个元素即可;
注意记录路径:如果匹配成功记录前驱,否则取前面取得的最大值。
说明:注意输出时的格式,多打个空格WA了好几次才发现。
#include
#include
#include
#include
using namespac...
分类:
其他好文 时间:
2014-08-20 19:38:42
阅读次数:
196
呵呵,这个题不能直接删除已知的结点,因为是单链表,不知道前驱,只知道
后继结点,直接删除会使链表断开。不过我们可以删除已知结点的后继结点,
把后继结点的值赋值给已知结点。
#include
struct Node
{
int data;
Node* next;
};
bool removeNode(Node* vNode)
{
if (vNode == NULL || vNo...
分类:
其他好文 时间:
2014-08-20 01:25:45
阅读次数:
174
有SPFA模板,bellman-ford模板显然是多余的。var e:array[1..maxe]of record a,b,w:longint;end; { 距源点s距离 } dis:array[1..maxn]of longint; { 前驱 } pre:array[1..maxn]o...
分类:
其他好文 时间:
2014-08-17 22:41:02
阅读次数:
209
我们熟悉了java单向链表的模拟,现在我就必须开始双向链表的模拟的.
1.基础结构对象DuLNode
public class DuLNode {
private Object data;// 存放结点值
private DuLNode prior; // 前驱结点的引用
private DuLNode next; // 后继结点的引用
public DuLNode()...
分类:
其他好文 时间:
2014-08-17 13:07:32
阅读次数:
278
1、序
详细实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继
2、二叉查找树简介
它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树
3、...
分类:
其他好文 时间:
2014-08-13 18:46:47
阅读次数:
164
/*************************************************************************这是一个二叉查找树,实现了以下操作:插入结点、构造二叉树、删除结点、查找、查找最大值、查找最小值、查找指定结点的前驱和后继。上述所有操作时间复杂度均为o...
分类:
编程语言 时间:
2014-08-13 14:49:16
阅读次数:
331
数据结构——表
1、定义:
线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其它的结点都有且仅有一个前驱和一个后继结点。
2、特征/性质
1)集合中必存在唯一的一个第一个元素
2)集合中必存在唯一的一个最后元素
3)除最后一个元素之外,均有唯一的后继
4)除第一个...
分类:
其他好文 时间:
2014-08-11 02:58:01
阅读次数:
279
1.特征:
①链表中的元素个数可以根据需要增加和减少,不像数组,在声明之后就固定不变;
②元素的位置可以变化,即可以从某个位置删除,然后再插入到一个新的地方;
2.组成:指针存放下一个结点的地址
3.基本操作:
(1)创建链表是指,从无到有地建立起一个链表,即往空链表中依次插入若干结点,并保持结点之间的前驱和后继关系。
(2)检索操作是指,按给定的结点索引号或检索条件,查找...
分类:
其他好文 时间:
2014-08-07 23:13:44
阅读次数:
274
瞎搞题啊。找出1 1 0 0这种序列,然后存起来,这种情况下最好的选择是1的个数除以这段的总和。然后从前向后扫一遍,变扫边进行合并。每次合并,合并的是他的前驱。这样到最后从t-1找出的那条链就是最后满足条件的数的大小。
Room and Moor
Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144...
分类:
其他好文 时间:
2014-08-07 23:12:45
阅读次数:
330