UVa514 Rails(铁轨)
题目描述:
某城市有一个火车站,有n节车厢从A方向驶入车站,按进站的顺序编号为1-n.你的任务是判断是否能让它们按照某种特定的顺序进入B方向的铁轨并驶入车站。例如,出栈顺序(5 4 1 2 3)是不可能的,但是(5 4 3 2 1)是可能的。
题目分析:
为了重组车厢,借助中转站,对于每个车厢,一旦从A移入C就不能回到A了,一旦从C移入B,就不能回到C...
分类:
其他好文 时间:
2014-09-23 17:46:25
阅读次数:
225
栈的基本操作包括入栈push和出栈pop,栈有一个栈顶指针top,指向最新如栈的元素,入栈和出栈操作操作都是从栈顶端进行的。
队列的基本操作包括入队enqueue和出队dequeue,队列有队头head和队尾tail指针。元素总是从队头出,从队尾入。采用数组实现队列时候,为了合理利用空间,可以采用循环实现队列空间的有效利用。
关于栈和队列的基本操作如下图所示:
采用数组简单实现一下栈...
分类:
其他好文 时间:
2014-09-22 01:16:21
阅读次数:
499
题意:
给出N幢摩天大楼的位置和高度,有Q次查询,问在某点处能看见天空的角度范围。
分析:
一开始的想法是维护一个单调栈,首先离线数据并排序排序,然后左右扫两边。单调栈内大楼的高度要递减,然后判断栈顶元素是否比它的前一个更优,如果不是则出栈。但是如果栈顶元素比它前一个优,并不能保证是全局最优的。
正确的维护方法是保证单调栈内的大楼高度递减,而且要使得这些大楼的最高点构成一个类似凸包的形状,或者说是凸包的一部分,然后再判断栈顶元素和它前一个比是否更优,如果不是则出栈。这样最后的栈顶元素就是待查询点在某方向的视...
分类:
其他好文 时间:
2014-09-21 23:18:21
阅读次数:
307
思路:可用于卡特兰数一类题目。
思路: 栈。对 S 的每个字符检查栈尾,若成对,则出栈,否则,入栈。
分类:
其他好文 时间:
2014-09-21 17:11:40
阅读次数:
218
栈是限定仅在表的一端进行插入或删除的纯属表,通常称允许插入,删除的一端为栈顶(Top),相应在的,则称另一端为栈底(Bottom)。不含元素的栈则称为空栈。
所设栈S={a1,a2,a3,...,an},则称a1为栈底元素,an为栈顶元素。根据栈的定义可知,栈顶元素总是最后入栈并且最先出栈的;栈底元素总是最先入栈并且最后出栈的。即栈是按后进先出的原则进行的。因此,栈又称为后进先...
分类:
其他好文 时间:
2014-09-20 01:11:16
阅读次数:
285
VA12096 - The SetStack Computer(set + map映射)
题目链接
题目大意:有五个动作:
push : 把一个空集合{}放到栈顶。
dup : 把栈顶的集合取出来,在入栈两次。
add : 出栈两次,把第一个集合作为一个元素放入第二个集合中,再将第二个集合入栈
union: 出栈两次,取这两个集合的并集,将结果入栈。
intersect: 出...
分类:
其他好文 时间:
2014-09-19 12:06:45
阅读次数:
250
如何 去解决 列表里面的selectBox已选情况,在滑出屏幕后被清除的问题。我来在这里 详细说明一下,在cell里面写一个方法,去专门修复滑出后,又滑进来 图标被冲刷掉的cell。 在 cellForRow里面 获得cell后,让其显示原貌。
分类:
其他好文 时间:
2014-09-18 20:16:54
阅读次数:
113
在PromiseKit中,里面涉及了很多的递归操作,而递归操作,对于大部分人理解起来都是比较麻烦的(包括我),而github中一些高上大的第三方库,无一不涉及了很漂亮的递归操作,因此理解递归操作是很必要的。如果想成为尽可能优秀的程序猿。 递归操作:自己调用自己,不停的压栈,最后出栈。(说的简单,但....
分类:
移动开发 时间:
2014-09-17 23:10:12
阅读次数:
328
题意 n辆火车按顺序依次进站 判断给定的出战顺序是否可能
用数组模拟模拟栈代表车站 车依次进站 每当栈顶火车序号与当前要出站的b[cur] 相等时 就让栈顶元素出栈 即top--
#include
#include
using namespace std;
const int N = 2000;
int b[N], c[N];
int main()
{
int l, cur...
分类:
其他好文 时间:
2014-09-16 15:58:30
阅读次数:
221
用两个栈实现队列的效果,可以入栈,出栈,判空等。。。
实现的栈基本功能
lstack.h
#ifndef _LSTACK_H
#define _LSTACK_H
#include
using namespace std;
// 基于链式表的堆栈
class Stack {
public:
// 构造过程中初始化为空堆栈
Stack (void) : m_top (NULL) {}
/...
分类:
其他好文 时间:
2014-09-15 22:56:39
阅读次数:
481