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
  • 相关阅读:
    java程序陷阱
    Django学习之manage.py使用
    myeclipse安装SVN插件方法
    myeclipse2014黑色主题风格设置
    eclipse中svn插件的安装
    与MySQL的零距离接触
    配置tomcat的用户名和密码
    java中的作用域
    [原]Wpf应用Path路径绘制圆弧
    WPF中Converter的使用
  • 原文地址:https://www.cnblogs.com/Sakits/p/7620231.html
Copyright © 2011-2022 走看看