[JLOI2013] 赛车

对于i,存在t>0,使得对于任意ji,有ki+vitkj+vjt

这个时候别去化简了,化简了还没办法做,直接将k+vt看成一条直线,条件就转化成:如果i可以获奖,那么就可以找一条直线x0,使得这条直线上i的对应的方程的值最大,不难发现构成了一个半平面交。但是注意这个半平面交必须要在第一象限了,比如下图就不行

这种情况怎么避免呢?我们只用加入y轴反方向即可,再去求半平面交

再一个注意弹出队首队尾时,上一道题目求的是面积,所以在on_right函数中,如果area0(也就是交于了一点),是可以弹出的,但这道题目就不行(只能没超过就能领奖,不用严格大于),所以这里要稍微改一下

然后是精度问题,要用long doubleeps要为1e-18;但是有些0就不要改成eps了,比如on_right函数中的sgn函数后面的那个判断,sgn函数返回的是整型,这里跟精度没有关系,所以不要改

posted @   最爱丁珰  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示