CF908G New Year and Original Order 题解

CF908C

定义 S(n) 为将 n 所有数位从小到大排序后得到的数,求 i=1nS(i)

1n10700

  • 看到这个题大部分人都会奔着数位 dp 的地方想

  • 但这个题的难度在于插入一个数后不好算贡献

  • 其实也挺好算的

  • dp 维护当前若干数字排完序的贡献,转移有三种情况

    • 选择更小的数字:在高位插入,没有贡献。

    • 选择更大的数字:在低位插入,贡献为 ×10

    • 选择当前数字:在中间位插入,贡献不确定,继续递推

  • 最终复杂度 O(log102n)

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