代码改变世界

滑雪

2010-10-15 21:06 by snowkylin, 195 阅读, 0 推荐, 收藏, 编辑
摘要:题目:滑雪Michael喜欢滑雪这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9一... 阅读全文

NOIP2009 3.最优贸易

2010-10-02 17:30 by snowkylin, 837 阅读, 0 推荐, 收藏, 编辑
摘要:内容 : C国有n个大城市和m条道路,每条道路连接这n个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这m条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为1条。C国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。商人阿龙来到C国旅游。当他得知同一... 阅读全文

Krusekal算法

2010-09-24 21:55 by snowkylin, 164 阅读, 0 推荐, 收藏, 编辑
摘要:program Project1;type node=record front,rear:longint; cost:longint; end;var a:array[1..1000000]of node; b:array[1..1000]of longint; i,min,n,m,x,y,t:longint;function findan(n:longint):longint;begin while n<>b[n] do n:=b[n]; findan:=n;end;procedure swap(var a,b:node);var t:node;begin t:=a;a:=b;b 阅读全文

SPFA算法

2010-09-24 20:14 by snowkylin, 451 阅读, 0 推荐, 收藏, 编辑
摘要:松弛:就是如果 从原点到点u(泛指所有与k相连的点)的距离+u到k的距离 小于 原来“预测”的点k到原点距离,就更新。形状如把直线拉成折线,故称松弛。只要u点被松弛了,就可能从u点经过再得到新的最短路径,所以加入队列。 阅读全文

Dijkstra(迪杰斯特拉)算法

2010-09-24 20:13 by snowkylin, 549 阅读, 0 推荐, 收藏, 编辑
摘要:program dijkstra; const maxvex=100; { 图的最大顶点数 } type costtype=dword; { 权值类型为无符号整型 } graph=record cost:array[1..maxvex,1..maxvex]of costtype; { 代价矩阵 } ... 阅读全文

d778: NOIP2009 2.Hankson的趣味题

2010-09-17 21:56 by snowkylin, 531 阅读, 0 推荐, 收藏, 编辑
摘要:内容 :Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson。现在,刚刚放学回家的Hankson正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数c1和c2的最大公约数和最小公倍数。现在Hankson认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“... 阅读全文

[AHOI1997]彩旗飘飘

2010-09-17 21:34 by snowkylin, 234 阅读, 0 推荐, 收藏, 编辑
摘要:查看题目 Show Problem[Donate]您的捐助,让RQNOJ明天更美好!题目:[AHOI1997]彩旗飘飘问题编号:371 题目描述有n面红旗和n面黄旗从东到西插成一排。如果相邻的两面旗帜的颜色不同,则称为颜色发生一次改变。任务:计算这2n面旗帜的颜色改变m次的插法共有多少种?示例:旗帜的颜色为“红黄红红黄黄黄”称为颜色改变了3次的插法。在n=4,m=1时仅有两... 阅读全文

拓扑排序

2010-05-13 17:37 by snowkylin, 175 阅读, 0 推荐, 收藏, 编辑
摘要:拓扑排序的方法和步骤是:首先要找到任意入度为0的一个顶点,删除它及所有相邻的边(对应的顶点入度减1),再找入度为0的顶点,以此类推,直到删除所有顶点。顶点的删除顺序即为拓扑排序。代码 阅读全文

平衡二叉树

2010-05-11 17:19 by snowkylin, 656 阅读, 0 推荐, 收藏, 编辑
摘要:AVL树插入算法的基本步骤如下: ①在寻找新结点的插入位置的过程中,记下离该位置最近、且平衡因子不等于零的结点a(此结点即为可能出现的最小失衡子树的根); ②修改自该结点至插入位置路径上所有结点的平衡因子(注意:树上其它结点的平衡因子均不受插入的影响); ③判断实施插入操作之后,结点a的平衡因子的绝对值是否大于1(即判断是否失衡)。若是,进一步判断失衡类型并做相应调整;否则插入过程结束。AVL树的... 阅读全文