摘要:
连通块 1 #include<iostream> 2 #include<cstdio> 3 #include<queue> 4 using namespace std; 5 const int N=105; 6 int n,m,ans,a[N][N],t[]={-1,1,0,0,0,0,-1,1}; 阅读全文
摘要:
围圈报数 区分什么时候将队首元素放入队尾,什么时候将队首元素直接丢弃。 1 #include<iostream> 2 #include<cstdio> 3 #include<queue> 4 using namespace std; 5 6 queue<int> q; 7 8 int main(){ 阅读全文
摘要:
Blah数集 如果用队列不能只求前n个数,因为第n+1个数可能小于第n个数。 那么只对求出的前n个数进行排序然后取第n个数显然不是正确答案。 所以用队列复杂度很高,使用数组结合题意来写最简单。 1 #include<iostream> 2 #include<cstdio> 3 #include<al 阅读全文
摘要:
周末舞会 1 #include<iostream> 2 #include<cstdio> 3 #include<queue> 4 using namespace std; 5 queue<int> q1,q2; 6 void init(bool f,int m){ 7 for(int i=1;i<= 阅读全文
摘要:
准备两个栈: 一个操作数栈,一个运算符栈。 1.遇到操作数直接压栈(操作数栈) 2.遇到左括号直接压栈(运算符栈) 3.遇到基本运算符分两种情况讨论: 3.1.运算符栈栈顶元素优先级大于等于当前运算符优先级或者栈顶元素为左括号——直接压栈(运算符栈) 3.2.运算符栈栈顶元素优先级小于当前运算符优先 阅读全文
摘要:
车厢调度 将入口A和车站C分别视为一个栈,其中A栈可以弹出到B或C,C只能弹出到B。 1 #include<iostream> 2 #include<cstdio> 3 #include<stack> 4 using namespace std; 5 6 const int N=1005; 7 st 阅读全文
摘要:
字符串匹配问题 使用全局stack时,切记清空stack! 1 #include<iostream> 2 #include<cstring> 3 #include<stack> 4 using namespace std; 5 6 stack<int> sta; 7 8 bool match(){ 阅读全文
摘要:
括弧匹配检验 1 #include<iostream> 2 #include<cstring> 3 #include<stack> 4 using namespace std; 5 6 stack<char> sta; 7 8 bool match(){ 9 string s; 10 cin>>s; 阅读全文
摘要:
表达式括号匹配 注意考虑出现多余右括号的情况! 1 #include<iostream> 2 #include<cstring> 3 #include<stack> 4 using namespace std; 5 6 stack<char> sta; 7 8 bool match(){ 9 cha 阅读全文
摘要:
后缀表达式的值 1 #include<iostream> 2 #include<cstring> 3 #include<stack> 4 using namespace std; 5 typedef long long ll; 6 ll t; 7 stack<ll> sta; 8 ll cal(ll 阅读全文