小y的容器[dp] tag: 滚动dp 容斥 cf分段2100+ 题意简单讲一下: 给三个容器,往里面填数字 其中容器内任意连续的两个数字之差不得大于3 例如[1,2,5]合法而[1,2,6]不合法。 且存在数字不能装进指定容器中 求解方案数 我们通过连续三个数字之差不得大于三这个点作为突破口,猜测方案为计数dp 因此我们令每个容器都只保留最后存在的数字,就可以知道下一个数字是否能填入当前这个容器中。这里的状态就用dp状态方程转移即可。 因此突破口就变成了如何记录下容器留下的最后数字。这里我们立马想到滚动dp。这里就是滚动dp的一种表现形式。我们仅需要知道这个数字距离当前数字差了几位即可...