LRU算法的实现

TimeLimit:1000MS  MemoryLimit:128MB
64-bit integer IO format:%lld
未提交 | 登录后收藏 | 已有4人收藏了本题
Problem Description

LRU(least recently used),最近最少使用。


我们在实现LRU时可以实现一个容器

这个容器提供以下几种操作:

insert k v 插入一个key是k,value是v的键值对(如果容器中已经有key为k的值,那么用新的替换它)

get k    查询key为k对应的value的值

vis k    把key为k的内容变成最近访问过

pop     删除最久没访问过的内容

remove k  删除key为k的内容


vis、pop、remove操作,如果不存在对应的内容,则不操作

Input

多组输入数据

每组数据先输入一个n表示操作的数量

接下来有n行

每行都是如题所示的操作方式的输入

1<=n<=50000

0<=k<=109

0<=v<=1018

Output

对应每个get操作,输出对应的value值。如果key不在容器中,输出-1

SampleInput
11
insert 1 7
insert 2 3
insert 3 9
get 2
vis 1
vis 3
pop
remove 3
get 1
get 2
get 3
SampleOutput
3
7
-1
-1
Submit
题目统计信息详细
总AC数60
通过人数25
尝试人数25
总提交量194
AC率12.89%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: