2016CCPC东北地区大学生程序设计竞赛 1008 HDU5929
2016-10-06 18:34
330 查看
链接http://acm.hdu.edu.cn/showproblem.php?pid=5929
题意:给你一种数据结构以及操作,和一种位运算,最后询问:从‘栈’顶到低的运算顺序结果是多少
解法:根据位运算,发现出现0,结果就是1,那么就记录两端0的位置就好,中间不管出现什么,结果大部分都是1,考虑还有反转操作,使用双端队列,用flag标记反转后的情况,然后根据需要添加元素记录位置,最后根据标记,出现元素等进行讨论计算
题意:给你一种数据结构以及操作,和一种位运算,最后询问:从‘栈’顶到低的运算顺序结果是多少
解法:根据位运算,发现出现0,结果就是1,那么就记录两端0的位置就好,中间不管出现什么,结果大部分都是1,考虑还有反转操作,使用双端队列,用flag标记反转后的情况,然后根据需要添加元素记录位置,最后根据标记,出现元素等进行讨论计算
#include <iostream> #include <deque> #include <string> #include <cstring> #include <stdio.h> using namespace std; int a[600005]; int main(){ int T; deque<int>d; char s[20]; scanf("%d",&T); for(int xx=1;xx<=T;xx++){ d.clear(); int n,flag=1,x,l=300000-1,r=300000; scanf("%d",&n); printf("Case #%d:\n",xx); while(n--){ scanf("%s",s); if(s[0]=='R') flag^=1; if(s[1]=='O'){ if(flag){ r--; if(a[r]==0) d.pop_back(); } else{ l++; if(a[l]==0) d.pop_front(); } } if(s[2]=='S'){ scanf("%d",&x); if(flag){ a[r]=x; if(x==0) d.push_back(r); r++; } else{ a[l]=x; if(x==0) d.push_front(l); l--; } } if(s[0]=='Q'){ if(l==r-1) printf("Invalid.\n"); else if(d.empty()) printf("%d\n",(r-l-1)%2); else{ int num=0; if(!flag){ int y=d.back(); num+=(y!=l+1)+r-y-1; } else{ int y=d.front(); num+=(y!=r-1)+y-l-1; } printf("%d\n",num%2); } } } } return 0; }
相关文章推荐
- 【HDU5929 2016CCPC东北地区大学生程序设计竞赛 - 重现赛 H】【打表找规律 队列模拟】Basic Data Structure 双端栈下连续1和0做nand的结果
- (HDU 5924)Mr. Frog’s Problem 思维水题 <2016CCPC东北地区大学生程序设计竞赛 - 重现赛 >
- 【HDU5932 2016CCPC东北地区大学生程序设计竞赛 - 重现赛 K】【树上背包 贪心乱搞】Backpack on Tree 物品成本只有12345下的树上背包
- hdu 5926 Mr. Frog’s Game 2016CCPC东北地区大学生程序设计竞赛E题(模拟)
- [2016CCPC东北地区大学生程序设计竞赛] Minimum’s Revenge 贪心+水题
- 2016CCPC东北地区大学生程序设计竞赛【01/03/05/06/08】
- [2016CCPC东北地区大学生程序设计竞赛]Mr. Frog’s Problem 规律+打表
- hdu 5927 Auxiliary Set 2016CCPC东北地区大学生程序设计竞赛 - 重现赛 F题(树状dp)
- HDU Mr. Frog’s Game 2016CCPC东北地区大学生程序设计竞赛 - 重现赛
- HDU 5929 Basic Data Structure 【模拟】 (2016CCPC东北地区大学生程序设计竞赛)
- (HDU 5926)Mr. Frog’s Game 水题 <2016CCPC东北地区大学生程序设计竞赛 - 重现赛 >
- HDU Basic Data Structure 2016CCPC东北地区大学生程序设计竞赛 - 重现赛
- 【HDU5922 2016CCPC东北地区大学生程序设计竞赛 - 重现赛 A】【水题】Minimum’s Revenge
- HDU 5929 Basic Data Structure 【模拟】 (2016CCPC东北地区大学生程序设计竞赛)
- (HDU 5927)Auxiliary Set 思维题 <2016CCPC东北地区大学生程序设计竞赛 - 重现赛 >
- 【HDU5923 2016CCPC东北地区大学生程序设计竞赛 - 重现赛 B】【并查集 暴力 复杂度计算】Prediction 生效若干条链上的所有边条件下的联通块情况
- HDU 5927 Auxiliary Set 【DFS+树】(2016CCPC东北地区大学生程序设计竞赛)
- (HDU 5929)Basic Data Structure 双端队列+模拟 <2016CCPC东北地区大学生程序设计竞赛 - 重现赛 >
- 【HDU5924 2016CCPC东北地区大学生程序设计竞赛 - 重现赛 C】【水题】Mr. Frog’s Problem
- HDU 5927 Auxiliary Set 【DFS+树】(2016CCPC东北地区大学生程序设计竞赛)