1919d
考虑将题目转化为:
D'$:对于一对相邻的差值为一的数,可以只留下较小的那个,问是否能使得只剩一个 $0
为什么可以这么转化?
考虑删去
接下来考虑如何解决
考虑到序列最大值只能被其他值删去,而且对于一个最大值极长连续段,只要端点可以被删,那么一定可以删去这个连续段。
我们用一个 vector v[x] 存储值为
我们考虑删除 v[x] 中的所有元素:
如果某点可以被删除,那么删掉,继续检查后面的点,如果有没被删掉的节点,那么说明不合法,输出 no。
最后检查链表中是否只有一个
每个点只会被删除一次,时间复杂度