zoukankan      html  css  js  c++  java
  • bzoj2083: [Poi2010]Intelligence test(二分+vector)

      只是记录一下vector的用法

      v.push_back(x)加入x

      v.pop_back()弹出最后一个元素

      v[x]=v.back(),v.pop_back()删除x,但是会打乱vector顺序

      vector的第i个元素可以直接用v[i]

    #include<iostream> 
    #include<cstring>
    #include<cstdlib>
    #include<cstdio>
    #include<cmath> 
    #include<algorithm> 
    #include<vector>
    using namespace std;
    const int maxn=1000010,inf=1e9;
    int n,m,L;
    int a[maxn],b[maxn];
    vector<int>v[maxn];
    inline void read(int &k)
    {
        int f=1;k=0;char c=getchar();
        while(c<'0'||c>'9')c=='-'&&(f=-1),c=getchar();
        while(c<='9'&&c>='0')k=k*10+c-'0',c=getchar();
        k*=f;
    }
    int main()
    {
        read(n);
        for(int i=1;i<=n;i++)read(a[i]),v[a[i]].push_back(i);
        read(m);
        for(int i=1;i<=m;i++)
        {
            read(L);
            for(int j=1;j<=L;j++)read(b[j]);
            int now=0,flag=0;
            for(int j=1;j<=L;j++)
            {
                int l=0,r=v[b[j]].size()-1;
                if(r<0){puts("NIE");flag=1;break;} 
                while(l<r)
                {
                    int mid=(l+r)>>1;
                    if(v[b[j]][mid]>now)r=mid;
                    else l=mid+1;
                }
                if(v[b[j]][l]>now)now=v[b[j]][l];
                else {puts("NIE");flag=1;break;}
            }
            if(!flag)puts("TAK");
        }
    } 
    View Code
  • 相关阅读:
    每日日报40
    每日日报39
    每日日报38
    vue 0点定时网络请求
    js reduce
    时间选择器 element
    CTF-WEB:PHP 变量
    CTF-WEB:PHP 反序列化
    Java 异常类与捕获异常
    Java 面向对象:内部类
  • 原文地址:https://www.cnblogs.com/Sakits/p/7620231.html
Copyright © 2011-2022 走看看