What is the problem C. Flag in codeforces 1181 and how to solve it?

2026-04-28 03:590阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计746个文字,预计阅读时间需要3分钟。

What is the problem C. Flag in codeforces 1181 and how to solve it?

题目:n/m的图。子矩阵为3个独立的条(相邻位置字母不同),视为船。问图中有几个船。先dfs记录各位置向下多长和是否同一字母dp1[i][j]。然后各位置为左上角的船的宽度一定为3+dp1[i][j]。

What is the problem C. Flag in codeforces 1181 and how to solve it?

题意:n*m的图。子矩阵为3个窄条(相邻位置字母不同),则为旗。问图中有几个旗。

先dfs记录各位置向下多长和它是同一个字母dp1[i][j]。然后各位置为左上角的旗的宽度一定为3*dp1[i][j]。然后看看下面是否也行。如果行,mk1[i][j]记录dp1[i][j],mk2[i][j]记录3个字母是哪3个。

然后再从各位置dfs。如果和右边的mk1,mk2都相等,dp2[i][j]就等于右边的+1。所有dp2累加就是结果。

阅读全文
标签:

本文共计746个文字,预计阅读时间需要3分钟。

What is the problem C. Flag in codeforces 1181 and how to solve it?

题目:n/m的图。子矩阵为3个独立的条(相邻位置字母不同),视为船。问图中有几个船。先dfs记录各位置向下多长和是否同一字母dp1[i][j]。然后各位置为左上角的船的宽度一定为3+dp1[i][j]。

What is the problem C. Flag in codeforces 1181 and how to solve it?

题意:n*m的图。子矩阵为3个窄条(相邻位置字母不同),则为旗。问图中有几个旗。

先dfs记录各位置向下多长和它是同一个字母dp1[i][j]。然后各位置为左上角的旗的宽度一定为3*dp1[i][j]。然后看看下面是否也行。如果行,mk1[i][j]记录dp1[i][j],mk2[i][j]记录3个字母是哪3个。

然后再从各位置dfs。如果和右边的mk1,mk2都相等,dp2[i][j]就等于右边的+1。所有dp2累加就是结果。

阅读全文
标签: