#P1594. 2022.09.23.-秋招-第二题-DNS本地缓存
-
ID: 2
Type: Default
1000ms
256MiB
Tried: 147
Accepted: 27
Difficulty: 6
Uploaded By:
TaZi
Tags>优先队列
2022.09.23.-秋招-第二题-DNS本地缓存
题目内容
塔子哥是一名软件工程师,他正在开发一个DNS本地缓存系统。在互联网中,DNS(Domain Name System)用于将域名(例如www.example.com)解析为IP地址,以便将请求发送到正确的服务器上。通常情况下,DNS请求会发送到互联网上的某个DNS服务器,这会造成一定的网络延迟和负载。为了解决这个问题,塔子哥想要开发一个本地DNS缓存系统,可以在本地缓存一部分DNS请求的结果,以提高性能和减轻网络负载。
塔子哥的这个DNS本地缓存系统有功能如下:
- 系统初始状态无存储记录,最大可缓存N条记录;
- 系统每1秒能解析1个URL地址,先从本地DNS上查找,如果本地缓存中能查到就直接返回from_cache;
- 如果本地DNS.上没有该地址,返回from_internet, 并从URL的属性列表tls上,读取该URL的TTL(Time To Live代表该URL的生存时长,即能够保存到缓存系统中的时长),并将URL存入缓存系统中;如果在ts上未能读到该URL的TTL,设置默认TTL为5s;
- 本地缓存系统中URL地址的TTL每秒减1,当TTL=0时,将该URL地址从缓存系统中移除;
- 在系统空间装满后,如果还有新的URL要录入,则将TTL最小的一个URL移除,如果TTL最小的URL存在多个,按照先进先出的方式移除1个URL.
现在每1秒输入一个URL地址,求每个URL地址的解析方式(from_cache 还是 from_internet)。
输入描述
第一行两个整数N X , 代表DNS的缓存空间以及待请求的URL的数量
接下来一行X个整数,分别代表对应的url , 形如: url1,url2,url3,...,urlX , 元素允许重复
接下来一行整数 Y , 代表URL的属性列表tls长度.
接下来Y行,每行两个整数,urli 和 ttli .
数据范围说明:
0<N,X,Y≤65535,N,X,Y为正整数
0≤urli,ttli≤65535,urli,ttli为整数
输出描述
每秒中url的解析方式列表(0: from_cache, 1: from_internet)
样例1
输入
5 5
3 1 2 1 2
2
1 4
2 2
输出
1 1 1 0 1
样例2
输入
10 15
11 14 10 5 8 3 8 13 12 9 12 15 15 7 7
8
11 2
14 11
10 9
5 7
8 1
13 10
9 10
15 8
输出
1 1 1 1 1 1 1 1 1 1 0 1 0 1 0
通知
扫码备注华为交流群~期待您的到来
- 湘ICP备2023007293号
- Worker 0, 23ms
- Powered by Hydro v4.14.1 Community