logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Codeforces Round 1074 - E - The Robotic Rush (二分查找、堆)

摘要:题目要求在无限数轴上,n个机器人和m个尖刺初始位置互异。机器人根据k条左右移动指令移动,触碰尖刺即死亡。高效解法是预处理每个机器人左右首次死亡步数,使用小根堆维护死亡条件,动态更新存活数。通过二分查找和堆操作,算法复杂度优化至O(nlogn + mlogm + klogn),适用于大规模数据。输入包含多组测试用例,输出每条指令执行后的存活机器人数量。

文章图片
#c++#算法
AtCoder Beginner Contest 439 - E - Kite

本文摘要:题目描述N个人在河岸放风筝,每个人i的位置为(Ai,0),风筝位置为(Bi,1)。要求选择最多人同时放风筝且任意两人风筝线不相交。关键解法是将问题转化为最长递增子序列(LIS)问题:1) 按Ai升序、Bi降序排序;2) 在排序后的Bi序列中求严格LIS长度。通过贪心+二分法高效求解,时间复杂度O(NlogN)。该转化利用了不相交线段的几何特性与序列单调性的对应关系。

文章图片
#算法#c++
到底了