CF1845C

原题

翻译

以为是数位dp,想了很久,最后发现贪心好巧妙

但其实数位dp也能做,只是写起来比较麻烦,(而且我看错题了/kk)

首先naive的做法是很好想的,即枚举在lr之间的数,直接判断

怎么判断呢?无疑是在s中找到第一个下标>i的这个数的位置,然后让i赋值为这个位置,一直重复

于是我们可以预处理出每个位置i后缀走09的编号最小的位置

我们发现一个什么问题?编号越大的点很明显出现的数越少

所以我们只需要每次走编号最大的点即可

预处理pos的复杂度为O(10n),计算的复杂度是O(10m)

总复杂度O(10n+10m)

posted @   FOX_konata  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示