zoukankan      html  css  js  c++  java
  • UVA11991第k次出现的v的下标

    题意:
         给你一个有n个数的数字序列,然后有m组询问,每组询问是问第k次出现的v在序列里的小标是多少?


    思路:
         简单题目,直接开个二维的容器就行了,标记出现次数可以开个数组或者是一维的容器,没啥想法直接写就行了。


    #include<map>
    #include<stdio.h>

    using namespace std;

    map<int ,map<int ,int> >Ans;
    map<int ,int>mark;


    int main ()
    {
        int n ,m ,v ,k ,i ,a;
        while(~scanf("%d %d" ,&n ,&m))
        {
            Ans.clear();
            mark.clear();   
            for(i = 1 ;i <= n ;i ++)
            {
               scanf("%d" ,&a);
               Ans[a][++mark[a]] = i;
            }              
            while(m--)
            {
                scanf("%d %d" ,&k ,&v);
                printf("%d " ,Ans[v][k]);      
            }
        }
        return 0;
    }
        





  • 相关阅读:
    Python为什么要self
    安全散列算法(secure hash algorithm,SHA)
    傅里叶变换

    K 最近邻(k-nearest neighbours,KNN)算法
    贪婪算法
    狄克斯特拉算法
    广度优先搜索
    快速排序
    选择排序
  • 原文地址:https://www.cnblogs.com/csnd/p/12062568.html
Copyright © 2011-2022 走看看