uva 11991 Easy Problem from Rujia Liu? map+vector
2014-08-02 11:17
381 查看
题意:
给定一个n个整数的数组,进行多次查询,每次查询输出第k个v的位置。
题解:
定义map<int,vector<int> >mm;那么mm[i][j]表示的就是第j+1个i的值的位置。为什么?我们将每个v映射成map中的一个键,用变长数组vector保存v的所有位置;那么mm[v]对应的就是vector,就是所有v的位置,然后查询vector中第k个元素即可。
代码:
给定一个n个整数的数组,进行多次查询,每次查询输出第k个v的位置。
题解:
定义map<int,vector<int> >mm;那么mm[i][j]表示的就是第j+1个i的值的位置。为什么?我们将每个v映射成map中的一个键,用变长数组vector保存v的所有位置;那么mm[v]对应的就是vector,就是所有v的位置,然后查询vector中第k个元素即可。
代码:
<pre name="code" class="cpp">#include <cstdio> #include <cstring> #include <cmath> #include <cstdlib> #include <iostream> #include <algorithm> #include <vector> #include <map> #include <queue> #include <stack> using namespace std; #define LL __int64 const int maxn=1e3+10; map<int,vector<int> >mm;//> >不能连续,否则会被当错>>出现编译错误 int main() { int n,m; while(scanf("%d%d",&n,&m)!=EOF) { int i,j,k,a,u,v; mm.clear(); for(i=0;i<n;i++) { scanf("%d",&a); if(!mm.count(a))mm[a]=vector<int>(); mm[a].push_back(i+1); } for(i=0;i<m;i++) { scanf("%d%d",&k,&v); if(mm[v].size()<k)printf("0\n"); else printf("%d\n",mm[v][k-1]); } } return 0; }
相关文章推荐
- UVA 11991 Easy Problem from Rujia Liu?(vector map)
- UVa 11991:Easy Problem from Rujia Liu?(STL练习,map+vector)
- UVa11991 Easy Problem from Rujia Liu? map,vector
- UVA 11991 Easy Problem from Rujia Liu?(map,vector)
- UVA - 11991 Easy Problem from Rujia Liu? map+vector
- UVA11991——Easy Problem from Rujia Liu?(map+vector)
- UVA - 11991 Easy Problem from Rujia Liu?(map)
- UVa 11991 Easy Problem from Rujia Liu? (用map离散化)
- UVa 11991 Easy Problem from Rujia Liu? / STL-MAP
- UVA 11991 Easy Problem from Rujia Liu?——Vector
- uva 11991 Easy Problem from Rujia Liu?(map应用)
- uva 11991 Easy Problem from Rujia Liu?(数据结构:map的简单用法)
- Easy Problem from Rujia Liu?(UVa 11991) map应用
- Uva 11991 - Easy Problem from Rujia Liu?(map 查找)
- UVA 11991 Easy Problem from Rujia Liu? .
- uva 11991 - Easy Problem from Rujia Liu?
- UVa 11991 - Easy Problem from Rujia Liu?
- UVA 11991 Easy Problem from Rujia Liu?
- UVA 11991 Easy Problem from Rujia Liu?
- UVA - 11991 - Easy Problem from Rujia Liu? (STL)