码迷,mamicode.com
首页 > 其他好文 > 详细

Books Queries (codeforces 1066C)

时间:2018-10-13 14:46:27      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:==   lse   bit   clu   第一个   for   books   指针   容器   

模拟题

开一个容器进行模拟即可,注意容器设置初始大小不然容易re。设置两个指针l,r。把容器当作桶,每一个桶都有一个编号表示位置,左边进入那么就是编号为l,右边一样。然后l--或者r++,l=r=0的初始值,第一个元素为0,然后同时l--,r++

代码(cf上的题解)

#include <bits/stdc++.h>
using namespace std;
main()
{
    int n;
    cin>>n;
    deque<int> vec(300000);
    int l=0;int r=0;
    for(int i=0;i<n;i++)
    {
        string s;
        int id;
        cin>>s>>id;
        if(!i)
        {
            vec[id]=l;
            l--,r++;
        }
        else
        {
            if(s=="L")
            {
                vec[id]=l;
                l--;
            }
            if(s=="R")
            {
                vec[id]=r;
                r++;
            }
            if(s=="?")
            cout<<min(abs(vec[id]-l),abs(vec[id]-r))-1<<endl; 
        }
    }
}

Books Queries (codeforces 1066C)

标签:==   lse   bit   clu   第一个   for   books   指针   容器   

原文地址:https://www.cnblogs.com/baccano-acmer/p/9782686.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!