思考熊的马拉松(是自己撰写的题解,未经求证可能有误,如果有误可以改正)

容易知道,速度慢的应该不会对速度快的套圈(显然)

考虑对每一个速度慢的熊进行处理,他被多少个快的熊套圈

设两只熊的速度分别为v1v2v1<v2),所有熊中速度最大的为v

那么每被套一次圈时间是Av2v1

由于总的时间为ALv

所以这一对熊对答案的贡献就是ALvAv2v1=L(v2v1)v

所以总的答案就是i=1nj=i+1nL(vjvi)v=i=1nj=i+1nLvjvLviv

由于对acbc

如果说ac小数部分大于等于bc的小数部分,则有acbc=acbc;若小于的话还要在减一个1

所以上式可以先维护整数部分,再算出小数部分,求一个逆序对个数,减去即可。

而为了避免精度问题,需要对小数部分进行转化

ac的小数部分为acac

由于所有数都有一个分母v,对上式乘上一个v,对整数比较大小即可

posted @   最爱丁珰  阅读(72)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示