原题链接: http://oj.leetcode.com/problems/reverse-linked-list-ii/
这道题是比较常见的链表反转操作,不过不是反转整个链表,而是从m到n的一部分。分为两个步骤,第一步是找到m结点所在位置,第二步就是进行反转直到n结点。反转的方法就是每读到一个结点,把它插入到m结点前面位置,然后m结点接到读到结点的下一个。总共只需要一次扫描,所以时间是O(n...
分类:
其他好文 时间:
2014-04-28 10:38:42
阅读次数:
240
HDU 1520 Anniversary party
隔层选取,比较基础的树形DP了。
HDU 2196 Computer
我只想说一句这是毛线DP,明明是图论好么。
两次BFS求出权值和最大的一条链,再用两次BFS更新各点最大值。
搜了一下,真的有人用DP做,貌似更快一些。...
分类:
其他好文 时间:
2014-04-28 10:33:42
阅读次数:
282
Accept: 28 Submit: 97
Time Limit: 1000 mSec Memory Limit : 32768 KB
Problem Description
YL是shadow国的国王,shadow国有N个城市。为了节省开支,shadow国只有N-1条道路,这N-1条道路使得N个城市连通。某一年,shadow国发生了叛乱,叛军占领了多个城市,王都岌岌可危。王都...
分类:
其他好文 时间:
2014-04-27 22:45:18
阅读次数:
293
Accept: 25 Submit: 98
Time Limit: 3000 mSec Memory Limit : 32768 KB
Problem Description
部队中总共有N个士兵,每个士兵有各自的能力指数Xi,在一次演练中,指挥部确定了M个需要防守的地点,指挥部将选择M个士兵依次进入指定地点进行防守任务,获得的参考指数即为M个士兵的能力之和。随着时间的推移,指...
分类:
其他好文 时间:
2014-04-27 22:42:18
阅读次数:
330
了解了数据结构--栈(基础知识)
下面简单整理了下有关栈的几个应用。
递归
把一个直接调用自己,或间接调用自己的函数,成为递归函数。
这里有一个比较好的例子,看下面一组数:
你是否发现了这组数的规律呢,没错你会发现从第三个数开始,每个数都是前面两个数的之合。
现在我们通过程序来实现这个算法,如下java代码:
public class Test {
private ...
分类:
其他好文 时间:
2014-04-27 22:37:30
阅读次数:
404
伸展树模版真的好长好长。。。
cut a b c:把第a-1个数伸展到根节点,把第b+1个数伸展到a的右子树,然后把ch[ch[root][1][0]]拿掉,放在剩下的树的第c个节点下。
flip a b:把第a-1个数伸展到根节点,把第b+1个数伸展到a的右子树,然后翻转ch[ch[root][1][0]];
由于会出现操作两边的情况,所以加了两个-1节点。
注意:
1,输出的时候要注...
分类:
其他好文 时间:
2014-04-27 22:31:19
阅读次数:
295
再过段时间就要邀请赛了。下去开始写周总结。就研究的东西来看,这一周主要研究了研究了线段树和树状数组,并写了几篇博客,博客链接:http://www.cnblogs.com/fightingboy/p/3686188.html或 http://blog.csdn.net/asdfghjkl1993/article/details/24499001
用简单的几句话概括它们,线段树和树状数组都是...
分类:
其他好文 时间:
2014-04-27 22:17:19
阅读次数:
268
二叉树层次遍历
输入一颗二叉树的先序遍历和中序遍历,输出它的后序遍历序列...
分类:
其他好文 时间:
2014-04-27 21:42:06
阅读次数:
229
很久没有用过二叉树了,最近由于需要用到了,发现很多知识需要巩固了,中间涉及到一个算法就是找任意两个节点的最近祖先。通过本人回顾和演算,最终提出了下面一个方法,网上也有很多其他的方式实现,再次仅对自己好几个小时的工作作个记录和积累吧! 程序是用C语言写的,个人觉得如果用C#实现会更加方便。
首先是数据结构定义:
typedef char TElemType;
typedef bool Statu...
分类:
其他好文 时间:
2014-04-27 21:14:06
阅读次数:
366