20200321 SCOI模拟T1(dp)

T1 [USACO20JAN]Cave Paintings P

[USACO20JAN]Cave Paintings P


题目描述

题目来自 USACO 2020 January Contest, Platinum Problem 1. Cave Paintings

Bessie 成为了一名艺术家,正在创作壁画!她现在正在创作的作品是一个高为 N 的方阵,方阵的每行都由 M 个方格组成。每个方格是空的,画了石头,或者画了水。Bessie 已经画上了包含石头的方格,包括整幅画作的边界。她现在想要将某些空的方格画上水,使得如果这幅画是真实的,其中应当不存在水的净移动。定义从上到下第 i 行的方格的高度为 N + 1 − i N+1-i N+1i 。Bessie 想要她的画作满足以下限制:

假设方格 a 画的是水。那么如果存在一条从 a 到方格 a 的路径,由高度不超过 a 的空的方格或是有水的方格组成,路径中每相邻两个方格都有一条公共边,那么 b 画的也是水。

求 Bessie 可以创作的不同作品的数量模 1 0 9 + 7 10^9+7 109+7 的余数。Bessie 可以将任意数量的空格画上水,包括不画以及全画。


输入格式

输入的第一行包含两个空格分隔的整数 NM

以下 N 行每行包含 M 个字符。每个字符均为 .#,分别表示一个空的方格和一个画有石头的方格。第一行和最后一行、第一列和最后一列仅包含 #


输出格式

输出一个整数,为满足限制的作品的数量模 的余数。


样例

样例输入

4 9
#########
#...#...#
#.#...#.#
#########

样例输出

9

样例解释

如果第二行中的任意一个方格被画上水,那么所有空的方格必须都被画上水。否则,假设没有这样的方格画有水。那么 Bessie 可以选择画上第三行的空格组成的三个连续区域的任意子集。所以,画作的总数等于 1 + 2 3 = 9 1+2^3=9 1+23=9


数据范围与提示

对于 100% 的数据,保证 1 ≤ N , M ≤ 1 0 3 1\le N,M\le 10^3 1N,M103


思路:

从下向上进行 dp

对于每一层,先合并连通块

如果有两个连通块 p 1

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值