标签:des style blog class code ext
7 9 D 3 D 6 D 5 Q 4 Q 5 R Q 4 R Q 4
1 0 2 4可用set来保存 炸毁的点 查询的时候二分 到它的左右两个数(当查询的数在set中直接输出0) 相减即为所得!一开始RE了很久。。。得到一个教训就是 用upper_bound 和 lower_bound的时候最好给set加个边界。。不然迭代器自减的话会发生很多乱七八糟的情况#include <iostream> #include <cstdio> #include <cstring> #include <vector> #include <string> #include <algorithm> #include <queue> #include <stack> #include <set> using namespace std; int n,m; set<int> sv; stack<int> dv; int main(){ while(~scanf("%d%d",&n,&m)){ while(!dv.empty()) dv.pop(); sv.clear(); sv.insert(0);//给其加上边界 sv.insert(n+1); while(m--){ getchar(); set<int>::iterator itlow,itup; char op; int d; scanf("%c",&op); if(op==‘D‘){ scanf("%d",&d); dv.push(d); sv.insert(d); }else if(op == ‘R‘){ if(!dv.empty()){ int td = dv.top(); dv.pop(); if(sv.count(td)!=0){ sv.erase(td); } } }else{ scanf("%d",&d); if(sv.count(d)!=0){ printf("0\n"); }else{ int ans = 0; itlow = sv.lower_bound(d); itup = sv.upper_bound(d); itlow--; printf("%d\n",*itup-*itlow-1); } } } } return 0; }
HDU1540 Tunnel Warfare,布布扣,bubuko.com
标签:des style blog class code ext
原文地址:http://blog.csdn.net/mowayao/article/details/25117941