UVA 11991 STL中map、vector的应用
来源:互联网 发布:法拉利和保时捷 知乎 编辑:程序博客网 时间:2024/04/30 11:14
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3142
Problem E
Easy Problem from Rujia Liu?
Though Rujia Liu usually sets hard problems for contests (for example, regional contests like Xi'an 2006, Beijing 2007 and Wuhan 2009, or UVa OJ contests like Rujia Liu's Presents 1 and 2), he occasionally sets easy problem (for example, 'the Coco-Cola Store' in UVa OJ), to encourage more people to solve his problems :D
Given an array, your task is to find the k-th occurrence (from left to right) of an integer v. To make the problem more difficult (and interesting!), you'll have to answer m such queries.
Input
There are several test cases. The first line of each test case contains two integers n, m(1<=n,m<=100,000), the number of elements in the array, and the number of queries. The next line contains n positive integers not larger than 1,000,000. Each of the following m lines contains two integer k and v (1<=k<=n, 1<=v<=1,000,000). The input is terminated by end-of-file (EOF). The size of input file does not exceed 5MB.
Output
For each query, print the 1-based location of the occurrence. If there is no such element, output 0 instead.
Sample Input
8 41 3 2 2 4 3 2 11 32 43 24 2
Output for the Sample Input
2070
Rujia Liu's Present 3: A Data Structure Contest Celebrating the 100th Anniversary of Tsinghua University
Special Thanks: Yiming Li
Note: Please make sure to test your program with the gift I/O files before submitting!
题目大意:给出包含n个整数的数组,你需要回答若干询问,每次询问的个数是两个整数,k和v,输出从左到右第k个v的下标(数组的编号从1到n)
解题思路:见代码
#include <stdio.h>#include <vector>#include <map>#include <vector>using namespace std;map<int ,vector<int> >a;//最后两个 > 不要连写,否则会被误认为 >>int main(){ int m,n,x,y; while(~scanf("%d%d",&n,&m)) { a.clear(); for(int i=0;i<n;i++) { scanf("%d",&x); if(!a.count(x)) a[x]=vector<int>(); a[x].push_back(i+1); } while(m--) { scanf("%d%d",&x,&y); if(!a.count(y)||a[y].size()<x) printf("0\n"); else printf("%d\n",a[y][x-1]); } } return 0;}
- UVA 11991 STL中map、vector的应用
- STL模版库的vector,map的简单应用
- STL map,vector和pair的混合应用
- stl map vector的删除
- STL中map、vector的iterator的简单用法
- STL中vector和map的查找和删除
- STL中List,Vector,Map,Set的理解
- STL中: string、vector、list、deque、set、map 的区别
- STL中: string、vector、list、deque、set、map 的区别
- STL中: string、vector、list、deque、set、map 的区别
- STL中List,Vector,Map,Set的理解
- STL中: string、vector、list、deque、set、map 的区别
- STL中List,Vector,Map,Set的理解
- STL中vector、list、deque和map的区别
- STL 中 map 和 string, vector 的用法详解
- STL中vector、list、deque和map的区别
- STL中string、vector、list、deque、set、map 的区别
- STL中vector、list、deque和map的区别
- Oracle 导入导出命令
- 友好城市
- 浅谈C#4.0协变性与逆变性
- jQuery 获取屏幕高度、宽度
- “API design is like sex: Make one mistake and support it for the rest of your life.”
- UVA 11991 STL中map、vector的应用
- 关闭所有子窗口及所属父窗口事件
- java中关于Map的九大问题
- work_weipa_radiobutton切换fragment
- map常见用法——POJ 3481
- Android与服务端通信之JSON格式
- android常用命令
- FPGA布局布线
- uva1169 Robotruck