ABC351D_MagicalCookies

Magical Cookies

根据问题的描述,如果在判断同一行或同一列的所有饼干是否具有相同颜色时,选择了时间复杂度为 Θ(H)Θ(W) 的方法,那么在每次操作 1 或操作 2 中,时间复杂度将变为 Θ(HW),因此在最坏情况下,整个计算的时间复杂度将为 Θ(HW(H+W)),可能会导致超时。

为了加快速度,我们可以利用颜色种类较少的特点。假设可能的颜色种类为 σ 种,对于本问题而言,σ=26。我们可以在处理每一行时,同时记录颜色为 ab、...、z 的饼干的数量,以便在 O(σ) 的时间复杂度内判断同一行或同一列的饼干是否具有相同颜色。因此,我们可以在 O(σ(H+W)2) 的时间复杂度内完成颜色判断部分。对于标记和移除饼干,由于每个饼干只需要进行一次操作,所以时间复杂度为 O(HW),因此总体的时间复杂度为 O(σ(H+W)2)

若直接暴力,会发现 TLE

正解可以在找到字母时 break,没有答案是终止程序,使得效率提升三倍。

TLE

AC

本文作者:wscqwq

本文链接:https://www.cnblogs.com/wscqwq/p/17643733.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   wscqwq  阅读(42)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起