警示后人
查看原帖
警示后人
182234
ryanright楼主2023/10/12 22:33

本题有几个坑点,花了我六个多小时去对着下载的大数据调试。

  • 题目中是有 A=0A=0 的数据的,此时所有点的横坐标都会变成 2At=02At=0,斜率就都变成了 ±∞\pm\infty,在计算的时候需要格外注意,而且需要特别区分 +∞+\infty 和 −∞-\infty(如果直接 long double 除就会自动帮你处理好)。
  • 如果某个时刻某个站又有到站的又有出站的,处理的顺序应当是:从进站车辆的出发处转移——将上一步转移的结果加入至单调队列中——使用单调队列计算当前答案。因为只有有车进站的时刻才可以作为转移点(等待的开始)。
  • 有一些状态是无法到达的,需要特别注意,不要让他们进入单调队列。

还有一些我自己的弱智操作:

  • 转载小于运算符的时候只考虑一个关键字。
  • ∞\infty 只判了 ++ 的。
  • 在使用 vector 时如果 v.size() == 0,那么不能用 i < v.size() - 1 作为边界条件,因为 v.size() 返回的是 size_t 类型,是无符号的,0-1 直接变成最大值,然后喜提 RE。正确的做法应该是 i + 1 < v.size(),然后里面再把 i 减去 1。
2023/10/12 22:33
加载中...