zoukankan      html  css  js  c++  java
  • 11991

    UVA 11991 - Easy Problem from Rujia Liu?

    题目链接

    题意:给一个长度n的序列,有m询问,每一个询问会问第k个出现的数字的下标是多少

    思路:用map和vector搞,map[i][j]直接保存的就是数字i第j个出现,每次直接输出就可以

    代码:

    #include <cstdio>
    #include <cstring>
    #include <vector>
    #include <map>
    using namespace std;
    
    int n, m;
    
    map<int, vector<int> > ans;
    
    int main() {
        while (~scanf("%d%d", &n, &m)) {
    	int a, b;
    	ans.clear();
    	for (int i = 1; i <= n; i++) {
    	    scanf("%d", &a);
    	    if (!ans.count(a)) ans[a] = vector<int> ();
    	    ans[a].push_back(i);
    	}
    	while (m--) {
    	    scanf("%d%d", &a, &b);
    	    if (ans[b].size() < a) printf("0
    ");
    	    else printf("%d
    ", ans[b][a - 1]);
    	}
        }
        return 0;
    }


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    如何复用网页
    sap
    学习方法
    spring + ehcache 实例
    200个 jquery插件
    vs 示例代码浏览器 搜索
    struts jquery 整合
    eclipse clean 后clease 为空
    mvc相关
    css 框架
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4839989.html
Copyright © 2011-2022 走看看