栈模拟dfs,学到了新姿势 这种题很显然应该用虚树去搞,之前也没写过虚树 具体来说就是先维护dfs序,之后每次询问按dfs序排序后一个一个压入栈内,相当于dfs中的进入递归 如果当前压入栈中的元素与之前栈顶元素的Lca深度小于栈顶元素,那么就把栈顶元素弹出,相当于dfs中的返回 虚树上就很好dp了, ...
分类:
其他好文 时间:
2016-10-21 10:51:14
阅读次数:
223
一、 用两个栈模拟一个队列 思路一: 1. 一个栈s1作为数据存储,另一个栈s2,作为临时数据存储。 2. 入队时将数据压人s1 3. 出队时将s1弹出,并压人s2,然后弹出s2中的顶部数据,最后再将剩余数据弹出s2,并压人s1. 思路二: 1. 一个栈s1作为数据存储,另一个栈s2,作为临时数据存 ...
分类:
Web程序 时间:
2016-10-01 19:50:36
阅读次数:
241
传送门 Description 给出了N个单词,已经按长度排好了序。如果某单词i是某单词j的前缀,i->j算一次接龙(两个相同的单词不能算接龙)。 你的任务是:对于输入的单词,找出最长的龙。 给出了N个单词,已经按长度排好了序。如果某单词i是某单词j的前缀,i->j算一次接龙(两个相同的单词不能算接 ...
分类:
其他好文 时间:
2016-09-03 22:22:16
阅读次数:
145
首先想说,英语太烂这题读了很长时间才读懂......题意是说输入有几张牌,然后输入这些牌的初始状态(是面朝上还是面朝下),然后输入操作方式,R表示翻一下右边的牌堆,L表示翻一下左边的牌堆,直到最后摞成了一个牌堆。后面跟着一排问题,输入i,问从上往下数的第i张牌编号,以及这张牌的状态。 这题只要读懂了 ...
分类:
其他好文 时间:
2016-08-19 15:07:36
阅读次数:
227
用两个栈模拟,并保存每个点的时间戳。每次合并的时候记录合并时的时间戳mcnt和此时的topa和topb记做ta、tb。 每次pop的时候,如果栈的top的时间戳大于mcnt,则普通地pop,否则就在两个栈ta和tb下面找时间戳最大且还没pop掉的。然后用bj[时间戳]来标记已经pop了。 wa了好 ...
分类:
其他好文 时间:
2016-08-09 20:24:05
阅读次数:
152
一,LRU算法介绍 LRU算法是最近最少未使用算法。当内存缺页时,总是优先选出距离当前最久未使用的页面换出,并把当前的缺页换入。该算法可用栈模拟实现。 栈顶总是保存当前最近访问的页面号,栈底则总是保存最久未访问的页面号。对于下一个页面,有两种情况: ①命中,则需要:更新栈顶元素。即将当前命中的页面号 ...
分类:
编程语言 时间:
2016-07-20 13:15:20
阅读次数:
169
一,使用单链表实现栈 ①栈需要一个栈顶指针 ②栈的基本操作有出栈和入栈,以及判断栈是否为空 ③单链表中每个结点表示一个栈元素,每个结点有指向下一个结点的指针。因此,在栈内部需要实现一个单链表。代码如下: 二,使用两个栈实现队列 ①栈是先进后出,而队列是先进先出。要实现队列,就需要实现队列的基本操作, ...
分类:
其他好文 时间:
2016-07-02 20:13:59
阅读次数:
201
D - Rails
Crawling in process...
Crawling failed
Time Limit:1000MS
Memory Limit:10000KB 64bit IO Format:%I64d & %I64u
Submit
Status
Practice
POJ 1363
Appoint description:
...
分类:
其他好文 时间:
2016-05-18 19:47:02
阅读次数:
171
Train Problem I
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 30420 Accepted Submission(s): 11492
Problem Description
As the n...
分类:
其他好文 时间:
2016-05-18 18:29:47
阅读次数:
187
Anagrams by Stack Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1513 Accepted Submission(s): 69 ...
分类:
其他好文 时间:
2016-04-27 22:35:19
阅读次数:
590