栈-队列
ID_BePosit
如果今天不比昨天多做一点什么,那么明天还有什么意义。
展开
-
H - Pair: normal and paranormal-(匹配杀鬼啊)
H - Pair: normal and paranormal URAL - 2019 #include<bits/stdc++.h>using namespace std;int main(){ int n,cnt=1; string str; stack<pair<char,int> >stk; ...原创 2018-08-09 15:24:24 · 197 阅读 · 0 评论 -
Origami-思维规律-入栈匹配
https://ac.nowcoder.com/acm/contest/296/B 题意:原来纸条为1-n 为1*n的有序排列,经过各种折叠方式最终折成n*1的可以对折反折等等,问最后给出的序列是否合法 思路:通过合法序列找一下规律,发现从 所有数字为奇数的连向其后面为偶数的数字构成的线是不会相交的 从所有数字为偶数的连向其后面为奇数的数字构成的线也是不会相交,所以对其所给序列进行这两个检...原创 2018-12-02 20:50:38 · 183 阅读 · 0 评论 -
H - Streets of Working Lanterns Gym - 101149H -括号匹配-栈模拟
H - Streets of Working Lanterns Gym - 101149H 题意:括号匹配,有很多"?",这些"?"可以凑成任意一种,判断最后能否恢复成匹配模式的括号 思路:更改"?".肯定与位置有关所以需要存储,入栈同时要保留位置,然后先进行原来的括号匹配 。 匹配完之后进行“?”凑数,一定要注意位置关系,此时栈内如果还有没匹配的括号,那应该先把它们的 顺序...原创 2018-11-28 22:10:39 · 201 阅读 · 0 评论 -
B - Balanced Sequence HDU - 6299 -贪心+思维
B - Balanced Sequence HDU - 6299 题意:给n个括号字符串,reorder改变这n个字符串的位置,让最终匹配的括号数最大 思路:先预处理出原来每个串中匹配的个数,因为无论怎么动都不会改变它们。 所以结构体记录每个串中已经匹配的数目,不匹配的‘)‘个数为R,不匹配的’(‘个数为L 接下来就是处理这些没有匹配的让它们尽可能多的凑出匹配的来,先分一下情况: ...原创 2018-11-11 17:00:45 · 280 阅读 · 0 评论 -
E - Cats and Fish HihoCoder - 1631 -模拟+priority-queue
E - Cats and Fish HihoCoder - 1631 题意:给定m条鱼,n只猫每只猫吃一条鱼的时间给定,然后给一个时间x问x时间后吃完了多少鱼还有多少鱼正在吃 思路:吃鱼一个循环过程但是有先后,所以根据优先级大小重构一下,按照优先队列去模拟这个过程即可,按照鱼的数量--进行队列元素循环更新,但是当队首元素的时间都超过x时就需要break #include ...原创 2018-11-07 11:05:31 · 229 阅读 · 0 评论 -
C - Crusaders Quest ZOJ - 枚举+栈模拟
C - Crusaders Quest ZOJ - 3983 题意:限定了九个字符,问最好情况下有几次三连碰。 思路: 先预处理把原有的三个连字符处理掉然后剩下的字母就肯定会肯定至少有一个字母不会产生三连击。 只要枚举一下让哪个字母不产生连击即可,只要去掉一个剩下的就可以确定。枚举的情况中取一个最大值即可。 #include<iostream>#incl...原创 2018-10-31 14:32:28 · 200 阅读 · 0 评论 -
后缀式求值
B [2133] - 数据结构实验之栈与队列三:后缀式求值 后缀表达式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则) #include<bits/stdc++.h>using namespace std;string str;int a,b,c,sum;int main(){ ...原创 2018-09-08 09:32:14 · 1332 阅读 · 0 评论 -
熟练优先队列声明格式
数据结构实验之排序四:寻找大富翁 学习一下 重载运算符形式 struct cmp{ bool operator()(Node a, Node b) { if(a.x == b.x) return a.y>b.y; return a.x>b.x; }}priority_queue<Node, ve...原创 2018-09-08 09:08:20 · 329 阅读 · 0 评论 -
B - Bus of Characters (STACK-模拟)
#include<bits/stdc++.h>using namespace std;#define maxn 200005struct node{ int order,num;} a[maxn];bool cmp(node a,node b){ return a.num>b.num;}int main(){ string str;...原创 2018-08-09 15:55:27 · 214 阅读 · 0 评论 -
D1. Great Vova Wall (Version 1)-匹配栈
Great Vova Wall (Version 1) emmm只要相邻两个奇偶性相同即可能够通过2的倍数来补齐差距然后通过一起填1到达任意高度。 所以就这样进行匹配,如最终栈内只有一个或0个即为合法情况。 #include<bits/stdc++.h>using namespace std;#define maxn 234567int n,a[maxn];int ...原创 2018-12-19 19:23:22 · 245 阅读 · 0 评论