OJ/算法
文章平均质量分 71
soulenvy
[2013]
展开
-
判断栈输出序列的合法性(模拟法)
问题描述:对于N个元素(1到N)。给定两个N的全排序列S1,S2。其中S1为入栈顺序,是2为出栈顺序。问:对于S1的入栈顺序,能否经过若干的出入栈操作,使得出栈顺序恰为S2。是输出YES,否输出NO。思路:由于只有一个栈,很容易得出S1到S2的操作序列是唯一的,因此可以用模拟法。遍历S2的每个元素。for(遍历S2的每一个元素){ if(当前元素还没有入栈)原创 2012-12-23 13:41:07 · 3932 阅读 · 0 评论 -
C++并查集
class DS{public:~DS(){ delete []parent;delete []root; }//析构函数void myinti(int n);//初始化int myfind(int e);//查找操作int myuion(int i,int j);//合并,返回新集合的名字int mynum(int i) { return parent[i]; }//集合的总个数,转载 2013-06-03 22:50:15 · 482 阅读 · 0 评论