CF1485E Move and Swap

我发觉我有点搞不懂这帮出题人的脑回路。

这题叶子都在同样的深度上,而且硬币b可以移动到深度+1的任意点上,因此观察这个树的分层图应该是有帮助的。

可以发现,后续的|ar-ab|只取决于硬币r和硬币b的位置,进一步,b始终可以选择下一层的任意节点,因此状态维度只用存r的位置。

f[x][y]表示第x步,r在第x层的y号点上,注意∑y是O(N)级别的,所对应的后续能取到的最大ans。

按照要不要交换硬币来讨论,如果不要交换硬币,那么r的下一位置枚举好了后,直接在同层中找一个使得|ar-ab|最大的位置当b,如果要交换硬币,那么就改为枚举同层中b的位置,使得r的某个子节点与其的绝对值之差+f[x+1][...]的值最大。

 

posted @ 2021-03-06 12:40  AngelKnows  阅读(90)  评论(0)    收藏  举报