【题解】 洛谷 P3586 [POI2015] LOG

结论:设 >=s 的数的个数为 cnt,则有解当且仅当 i=1ai<snai(ccnt)×s

感性证明:这个过程实际上就是一个将减到 0 的数字用没减到 0 的数字替补下来的过程,而一个数字能成为替补数字只能是它还没有被选入那 c 个数,但是所有的 s 的数一定是一直在 c 个数中的,所有除去这 cnt 个数,其它的数可以随便替补,所以只要他们的和 它们所要承担的减的数量就行了。

那么知道这个结论就很好办了,用树状数组维护 x 的序列中所有数字的和及其个数即可。

值域比较大的话离线离散化即可。

posted @   wapmhac  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示