CF939F】的更多相关文章

好神奇的dp... 首先有一个很简单的思想:设dp[i][j]表示目前到了第i分钟,朝上的面被烤了j分钟的情况下所需的最小交换次数 那么有转移:dp[i][j]=min(dp[i-1][j],dp[i-1][i-j]+1) 这一点很好理解,就是讨论现在向上这面上一分钟的状态:如果上一分钟这一面也朝上,那么就直接继承,如果上一分钟这一面朝下,那么就要翻一次,同时之前朝上的面的被烤的时间就是i-j 但这个转移显然是O(n^2)的,这样做过不去这道题. 所以我们考虑优化 可是,这个转移在某种意义上已经…
题目大意:要煎一块有两个面的肉,只能在一段k不相交的时间段$[l_{i},r_{i}]$内翻转,求$2*n$秒后,保证两个面煎的时间一样长时,需要最少的翻转次数,$n<=100000$,$k<=100$ 神仙单调队列优化$DP$, [NOI2005]瑰丽华尔兹 也有类似的压时间段的套路,但这道题可比那道题难多了. 朴素$O(n^2)$的$DP$没什么好说的,我们要想办法把它优化成$O(nk)$的 定义$f[i][j]$表示第$i$个时间段内,朝上的面(现在没被煎的)被煎的时间是$j$ 1.观察…