摘要:
题目链接 题解 $d$数组Dijkstra预处理即可。然后建反向图,dp。 状态:$dp[i][j]$表示第i个节点是否(\(j=1/0\))已使用2操作时的答案。 转移方程: \[ dp[v][0]=min(dp[v][0],dp[u][0]),dp[v][1]=min(dp[v][1],dp[u 阅读全文
摘要:
题目链接 题解 由于数据范围无法枚举$n$量级的次数,只得处理每个障碍物对答案的影响。可以发现,每个障碍物所在列的另一个方格无法被$2\times 1$的矩形覆盖,只能将矩形横过来,而这会使两行的覆盖错位(由左向右考虑)。这时我们需要下一个障碍物将其纠正,当相邻两障碍物同行且下标差为偶数,或异行且下 阅读全文
摘要:
题目链接 题解 贪心呐,策略是由倒数第二层节点向上递归,将所有未交换的子节点与递归到的节点互换。若根节点未移动,则将其与任意子节点互换即可。 简单证明:节点$i$一定需要和与它一条边即可相邻的节点(父结点或子节点)交换。设节点$i$深度为$d_i$,且$d_$及以下的节点全部处理完毕(也就是只剩下它 阅读全文