LOJ#3175. 「IOI2019」排列鞋子 贪心+树状数组

手画一下发现最优策略是统一向左/向右移,那我们就让鞋子向左移.   

因为一个鞋子向左移不会使右面的答案变差,而最左面没有被匹配的鞋子也迟早要和一个鞋子去匹配.   

写了一个 O(n2) 的暴力,过掉了 50pts.   

然后我们发现将鞋子从 j 移到 i 的代价是 ji [i,j] 中已经移到左面的个数.   

维护 [i,j] 中移到左面的个数可以用树状数组/线段树.  

code: 

  

posted @   EM-LGH  阅读(164)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
· golang自带的死锁检测并非银弹
阅读排行:
· 一个适用于 .NET 的开源整洁架构项目模板
· AI Editor 真的被惊到了
· API 风格选对了,文档写好了,项目就成功了一半!
· 【开源】C#上位机必备高效数据转换助手
· .NET 9.0 使用 Vulkan API 编写跨平台图形应用
点击右上角即可分享
微信分享提示