摘要:
题目链接 题解 ⭐:①记忆化搜索的时间复杂度为状态数$\times$决策数 ②记忆化搜索(dfs)为博弈论题目常见解法 记忆化搜索,$ans[i][j]\(表示当前轮在点\)(i,j)$上玩家的输/赢(\(0/1\))。只要当前可以转移到的状态中有一个为赢,则当前状态为输(因为玩家极聪明)。Tips 阅读全文
摘要:
题目链接 题解 ⭐:为保证无后效性可以尝试倒序 如果下一个盒子会猜中,便在当前盒子中停留,如此可见对于每一个起始位置,可以到达的最终位置是连续的,因此可以求出其左右端点。设娃娃要由$i$号盒子转移至$j$号盒子中(\(i<j\)),可以发现在某处停留一次与由$i-1$号盒子出发产生的后果相同,因此最 阅读全文
摘要:
题目链接 题解 $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_$及以下的节点全部处理完毕(也就是只剩下它 阅读全文