2018年网易游戏春招笔试题

2018年网易游戏春招笔试题(2018.04.16)

题目一 生产线问题

题目描述

作为一条生产线的负责人,你手头上有N个订单,你需要通过这条生产线去处理这些订单。每个订单可以用两个属性去描述:耗时p和开工时间点r。订单开始被处理的时间不能早于开工时间点r,并且只有当订单被处理的时间累积达到p的时候才算完成。作为负责人,你有权利暂停生产线上正在被处理的订单,将其撤下,并换上另一个订单进行处理。令 Ci C i 表示订单i被处理完成时的时间点,你的目标是min C1+C2++CN C 1 + C 2 + ⋯ + C N ,即最小化全部订单完成时间的总和。

输入描述:

输入包含多组测试用例,每组测试用例格式如下:
第一行该出订单数N,随后N行分别给出每个订单的耗时p和开工时间r。其中1<=N<=100000,1<=p<=10000,0<=r<=10000

输出描述:

min C1+C2++CN C 1 + C 2 + ⋯ + C N 。为了防止结果溢出,请将结果对1000000007取余。

示例1:

输入
2
1 0
2 0
3
1 1
1 0
1 1

输出
4
6


题目二 提醒方案计分

题目描述

小易是一款跑酷游戏的策划,最近许多玩家向他抱怨这款游戏难度太大。当玩家操控游戏人物通过跳跃躲避某些障碍物时,经常由于把握不好起跳和降落的实际,从而导致游戏失败。小易决定通过在游戏中设置一些提醒,来降低游戏难度。游戏地图可以简化为一个数轴,而一条提醒包含两个区间[L1,R1]和[L2,R2],其中[L1,R1]为起跳区间,[L2,R2]为降落区间。当游戏任务进入起跳区间或降落区间时,屏幕上会提示玩家进行相应的起跳或降落操作。为了更好地贴合玩家的需求,小易向玩家征集了N条备选的提醒方案,并从数据库中调取了M条玩家的跳跃数据,每条跳跃数据可以表示为一个数对(L,R),其中L和R分别为起跳点和降落点的坐标。如果某条跳跃数据的起跳点和降落点刚好落在一条提醒方案的起跳区和降落区间,即满足L1<=L<=R1和L2<=R<=R2,小易就给该条提醒方案计一分。现在,小易要做的事情就是快速地计算出这N条方案的得分,从而决定采纳哪些方案。

输入描述:

输入包含多组测试用例,每组测试用例格式如下:
第一行给出玩家的跳跃数据条数M,随后M行分别给出每条跳跃数据对应的起跳点L和降落点R。
然后,给出备选的提醒方案条数N,随后N行分别给出每条提醒方案的起跳区间端点L1和R1以及降落区间端点L2和R2.
其中1<=N<=100000,1<=M<=100000,1<=L<=R<=100000,1<=L1<=R1<=L2<=R2<=100000,所有输入数据均为正数。

输出描述:

对于每条备选的提醒方案,输出其得分。

你可能感兴趣的:(笔试题)