2016 CCPC 东北地区重现赛
2、总结:弱渣,只做出01、03、05水题
08 HDU5929 Basic Data Structure 模拟,双端队列
1、题意:模拟一个栈的操作,并在每次询问时,计算栈项到栈底元素nand位运算的值。
2、总结:思路就是看距离栈底最近的0的后面1的个数的奇偶。试了好多种办法,最后还是双端队列简便。总之,贼恶心的题。。
#include<iostream>
#include<cstring>
#include<cmath>
#include<queue>
#include<algorithm>
#include<cstdio>
#include<stack>
#include<vector>
#define F(i,a,b) for (int i=a;i<b;i++)
#define FF(i,a,b) for (int i=a;i<=b;i++)
#define mes(a,b) memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f
#define LL long long
#define pb push_back
using namespace std;
const int N=,MAX=; int main()
{
int t,n,x,flag,tot1,tot2,a[N];
char str[];
deque<int >DQ;
scanf("%d",&t);
FF(cas,,t){
DQ.clear();
flag=;
tot1=((N>>)-),tot2=(N>>);
scanf("%d",&n);
printf("Case #%d:\n",cas);
while(n--){
scanf("%s",str);
if(str[]=='S'){
scanf("%d",&x);
if(!flag){
if(!x)DQ.push_back(tot1);
a[tot1--]=x;
}else {
if(!x)DQ.push_front(tot2);
a[tot2++]=x;
}
} else if(str[]=='O'){
if(!flag){
tot1++;
if(!a[tot1])DQ.pop_back();
}else {
tot2--;
if(!a[tot2])DQ.pop_front();
}
} else if(str[]=='R'){
flag^=;
} else {
if(tot2-tot1-==)puts("Invalid.");
else if(DQ.empty()) cout<<((tot2-tot1-)%)<<endl;
else {
if(!flag){
cout<<((tot2-DQ.front()-+(tot1+!=DQ.front()))%)<<endl;
}else {
cout<<((DQ.back()-tot1-+(DQ.back()!=tot2-))%)<<endl;
}
}
}
}
} return ;
}
2016 CCPC 东北地区重现赛的更多相关文章
- HDU 5923 Prediction(2016 CCPC东北地区大学生程序设计竞赛 Problem B,并查集)
题目链接 2016 CCPC东北地区大学生程序设计竞赛 B题 题意 给定一个无向图和一棵树,树上的每个结点对应无向图中的一条边,现在给出$q$个询问, 每次选定树中的一个点集,然后真正被选上的是这 ...
- 2016 CCPC长春重现赛
1.2016中国大学生程序设计竞赛(长春)-重现赛 2.总结:会做的太少,应变能力也不行,或者说猜题目的能力不行 02 水 04 HDU 5914 Triangle 1.题意:1~n,n个数,问 ...
- 2016 长春东北赛---Coconuts(离散化+DFS)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5925 Problem Description TanBig, a friend of Mr. Frog ...
- 2016年中国大学生程序设计竞赛(合肥)-重现赛1001 HDU 5961
传递 Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submiss ...
- 2016年中国大学生程序设计竞赛(合肥)-重现赛1008 HDU 5968
异或密码 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submis ...
- 2016年中国大学生程序设计竞赛(合肥)-重现赛1009 HDU 5969
最大的位或 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submi ...
- HDU 5925 Coconuts 【离散化+BFS】 (2016CCPC东北地区大学生程序设计竞赛)
Coconuts Time Limit: 9000/4500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Su ...
- HDU 5929 Basic Data Structure 【模拟】 (2016CCPC东北地区大学生程序设计竞赛)
Basic Data Structure Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Oth ...
- HDU 5926 Mr. Frog's Game 【模拟】 (2016CCPC东北地区大学生程序设计竞赛)
Mr. Frog's Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
随机推荐
- C# 读取excel日期时获取到数字转换成日期
string strDate= DateTime.FromOADate(Convert.ToInt32(data[i][7])).ToString("d"); strDate= D ...
- R语言爬虫初尝试-基于RVEST包学习
注意:这文章是2月份写的,拉勾网早改版了,代码已经失效了,大家意思意思就好,主要看代码的使用方法吧.. 最近一直在用且有维护的另一个爬虫是KINDLE 特价书爬虫,blog地址见此: http://w ...
- 【总结】虚拟机VirtualBox各种使用技巧
作为个人学习研究,VirtualBox是首选,它是Oracle下免费的.开源.跨平台的一款虚拟机软件,小巧.实用,一点也不逊于商业版的VMware Workstation. VirtualBox官网: ...
- PHP 5.4 已废弃 magic_quotes_gpc,PHP安全转义函数详解(addslashes 、htmlspecialchars、htmlentities、mysql_real_escape_string、strip_tags)
1. addslashes() addslashes()对SQL语句中的特殊字符进行转义操作,包括(‘), (“), (), (NUL)四个字符,此函数在DBMS没有自己的转义函数时候使用,但是如果D ...
- Android 无线调试
首先保证电脑和手机在统一局域网.并知道手机的局域网 ip1. 用usb线连接手机和电脑,并在电脑终端输入 adb tcpip 5555 adb connect <ip>2. 取消usb连接 ...
- vim技巧
(三)多窗口操作 改变高度:res +n(增加n行的高度)n ctrlw +/-改变宽度:vertical res +n(增加n列的宽度)n ctrl w >/< (一)缩进 vim提供 ...
- layer使用方法
type - 基本层类型 类型:Number,默认:0 layer提供了5种层类型.可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层). 若你采用layer. ...
- .NET 反射概述
反射 反射提供了封装程序集.模块和类型的对象(Type 类型).可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性.如果代码中使用了属性 ...
- php 二维数组按某字段排序
思路很重要,最好的方法是查询时按这个字段给你排好,把问题丢给数据库,比如 order by age ,如果遇到中文时需要这样写(mysql) 如:select * from category ord ...
- 【MongoDB】递归获取字段更新表达式,更新复杂数据类型对象
在实际更新Mongo对象时发现,原有的更新代码无法更新复杂的数据类型对象.恰好看到张占岭老师有对该方法做相关的改进,因此全抄了下来. 总的核心思想就是运用反射与递归,对对象属性一层一层挖掘下去,循环创 ...