博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA 11991 - Easy Problem from Rujia Liu?
阅读量:7069 次
发布时间:2019-06-28

本文共 1420 字,大约阅读时间需要 4 分钟。

//Root :: AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu) :: Chapter 1. Algorithm Design :: General Problem Solving Techniques :: Examples

//UVA 11991 - Easy Problem from Rujia Liu? // 昨晚
/*题意:给n个数,m个询问,问第k个位置的v的序号是多少?
思路:第一次提交 O(n)时间 ,运行错误runtime error,
二维数组又爆,参考他人使用map容器和vector的
//map:一对一映射,无重复元素,基于关键字查找
 C++ STL模板巧很好用  要学的东西太多了
*///AC
#include<cstdio>
#include<map>
#include<vector>
using namespace std;
int n,m;
map<int ,vector<int> > s;//开辟二维向量s 记录元素、元素个数、元素位置
int main()
{
    int a,i,k,v;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        s.clear();//每次初始化
        for(i=1;i<=n;i++)
        {
            scanf("%d",&a);
            s[a].push_back(i);//存储a 和a的序号 并对a的个数进行累加
        }
        for(i=0;i<m;i++)
        {
           scanf("%d%d",&k,&v);
           if(s[v].size()<k) //a的总个数
           printf("0\n");
           else
           printf("%d\n",s[v][k-1]);
        }
    }
    return 0;
}
/*//runtime error 改的我肚子疼
#include<stdio.h>
#include<string.h>
const int M=100010;
long long  m,n;
long long a[M],ind[M];
int f(int x,int y)
{
    long long  i,j=0,ok=0;
    if(ind[y]==0) return 0;
    else
    {
        for(i=0;i<n;i++)
        {
            if(a[i]==y)
            {
                if(j<x)
                  j++;
                if(j==x)
                {
                    ok=1;break;
                }
            }
        }
    }
    if(ok)return i+1;
    else return 0;
}
int main()
{
    long long  i,j,k,c,b,d;
    while(scanf("%lld%lld",&n,&m)!=EOF)
    {
        memset(ind,0,sizeof(ind));
        for(i=0;i<n;i++)
        scanf("%lld",&a[i]);
        for(i=0;i<m;i++)
        {
            scanf("%lld%lld",&b,&c);
             ind[c]++;
            d= f(b,c); printf("%lld\n",d);
        }
    }
    return 0;
}
/*
8 8
1 2 3 4 4 5 8 9
*/
*/

转载于:https://www.cnblogs.com/someonelikeyou/archive/2013/02/06/2907630.html

你可能感兴趣的文章
重做项目的初衷及计划
查看>>
@PathVariable 带"."号传参的小坑
查看>>
写一个方法,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。...
查看>>
Python打牢基础,从12个语法开始!
查看>>
为什么不支持MD
查看>>
如何成为月薪3万左右的UI设计师,应该学习什么能力?
查看>>
mysql 修改datadir
查看>>
两台web服务器做文件共享,负载均衡
查看>>
eclipse maven 导出项目依赖的jar包
查看>>
线程池模型
查看>>
使用spring boot构建微服务
查看>>
域用户管理
查看>>
SCVMM2012SP1之环境准备
查看>>
failed to install tomcat6 service check your settings and permissions的解决办法
查看>>
bash启动脚本
查看>>
我的友情链接
查看>>
树莓派3 之 安装Mysql服务
查看>>
MySql体系架构
查看>>
构建双web服务器+单mysql服务器组成的web系统
查看>>
jquery
查看>>