AboKand0:第四道题的话不需要考虑的太复杂,代码忘记了,大概说下思路吧。
从题干中提取几个关键信息:1.赛道是个环;2.技能无cd;3.闪现距离是半个环;4.杀敌技能可以看作死亡范围。
下面是思路:1.计算其他车起始位置与自己车起始位置的相对位置(后面将自己车的位置视作起点);2.将自身视作静止,计算其他人相对于自己的运动速度(后面都是用这个速度计算);3.因为自己已经静止,所以在整个环上就只有两个死亡范围,分别是起点区间和起点对面的区间,而且起点对面区间的中心点和起点的距离是知道的;4.在知道上面这些之后,又因为已经计算了其它车的相对速度,那么只需要知道,这些车到死亡区间的最短时间是多长即可。如下图例:
如果敌人B逆时针转,那么需要走的最短距离就是从当前位置到区间1右端点的距离,速度是之前计算的相对速度,相除就得到时间;如果顺时针转,就是到区间2的右端点。
计算所有车的死亡时间之后取最大值即可(因为技能0cd,可以随意反复横跳或者释放击杀技能)
思路好像和楼主很像,但是a了100%,不知道是不是因为语言的问题😅(我用的c++)
查看图片


0 点赞 评论 收藏
分享

0 点赞 评论 收藏
分享
Gnight:第十六题:考虑大文件内存oom,首先用多个文件划定范围,把每个文件划定的范围看作桶,数字划分到不同的桶,然后就可以筛掉前面的桶,在中位数所在的桶读入快排即可。

0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: