先说为什么我要发这个帖子,因为这个题在知道做法之后调了我将近四个小时。
纵观本题做法,其关键在于处理子树内所有数字加 k 的标记。你要能够设计出一种标记并且认识到这种标记可叠加可下放,我觉得就这一步就已经很有难度了,至少不低于 CF2600,并且其严格弱化版,也就是不用处理标记且全局加一是省选紫题。
当然,如果只有全局加 k 这个估计还比较简单,至少知道做法之后我花了四十分钟就写出来了。但是这个题要子树加 k,还要将子树和别的子树合并以及更改根到子树这一条链的信息,各种操作的处理细节还挺多的,我因为在一个角落(就是不是递归函数中)少写一个 pushdown 被硬控了两个小时。
当然,也可能是我太菜了,但是我真心觉得Trie树打标记不好想。如果您驳回我的观点,希望您同时能够推荐几道Trie树打标记下放的题目让我多练习一下。