zoukankan      html  css  js  c++  java
  • uva 11991

    STL 使用,,由于数据范围没有 超越极限数据  依旧可以用 vector 搞定; 

    #include<iostream>
    #include<stdio.h>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    #include<map>
    #include<utility>
    #include<vector>
    using namespace std;
    
    pair<int,vector<int> >b;
    map<int,vector<int> >a;
    vector<int>v[1000006];
    int main( )
    {
        int N,M;
        while( scanf("%d%d",&N,&M) != EOF )
        {
            for( int i = 0; i < 1000006; i++ )
               v[i].clear();
            for( int i = 1; i <= N; i++ )
            {
                int a; scanf("%d",&a);
                v[a].push_back( i );
            }
            for( int i = 1; i <= M; i++ )
            {
                int k,num; scanf("%d%d",&k,&num);
                if( v[num].size() && v[num].size() >= k )cout<<v[num][k-1]<<endl;
                else puts("0");
            }
        }
        return 0;
    }
    

    但数据范围变大的时候, 单单 一个 vector 就搞不定了; 需要 map 一起使用;

    #include<iostream>
    #include<stdio.h>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    #include<map>
    #include<utility>
    #include<vector>
    using namespace std;
    
    pair<int,vector<int> >b;
    map<int,vector<int> >a;
    vector<int>v[1000006];
    int main( )
    {
        int N,M;
        while( scanf("%d%d",&N,&M) != EOF )
        {
            a.clear();
            for( int i = 1; i <= N; i++ )
            {
                int c; scanf("%d",&c);
                if( a.find(c) == a.end() )a[c] = vector<int>();
                a[c].push_back( i );
            }
            for( int i = 1; i <= M; i++ )
            {
                int k,num; scanf("%d%d",&k,&num);
                if( a.find(num) == a.end() || a[num].size() < k )puts("0");
                else printf("%d
    ",a[num][k-1]);
            }
        }
        return 0;
    }
    

      

  • 相关阅读:
    考拉兹猜想,100万以内的数
    给任意a、b、c三个数作为边盘都是否能构成三角形
    计数算法-对200万考生的成绩就行排序
    冒泡排序
    插入排序
    Echarts
    vue+tinymce
    java RestTemplate.postForObject请求传参
    java计算今天起后7天时间 +昨天八点+今天前7天的日期
    layui+echarts+动态数据
  • 原文地址:https://www.cnblogs.com/wulangzhou/p/3333159.html
Copyright © 2011-2022 走看看