时间限制:3.000秒
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=3142
给出一个包含n个元素的数组以及m个询问(1 <= n,m <= 100,000),每次询问包含两个整数k和v,输出从左到右第k个v的下标,下标从1开始,如果不存在这样的数,输出0。
直接从左往右数的话肯定会超时,因为数组和查询的数量太大,因此我们要预先把结果储存起来,每次询问时直接把预先算出来的结果输出来,节省时间。
#include
#include
#include

本文介绍了一种处理大规模数组查询的方法,通过预处理将查询效率极大提升。针对包含n个元素的数组及m次询问,每次询问需找出从左至右第k个特定数值的位置。通过预先存储结果的方式避免了逐个遍历的效率瓶颈。
503

被折叠的 条评论
为什么被折叠?



