ICPC 南京网络赛——B

题目链接

题目大意:大意就是给你一个Nn*m的一个由若干个小正方形组成的大矩形,并将其中的某些黑块涂黑,问有多少个不包含黑块的小矩形,有没有想起来小学数学题数三角形的问题、

在网上看了好多人写的,有的解析太少看不太明白,看了有一位大佬写的才把这个题目思路想明白了

奉上大佬的博客:https://blog.youkuaiyun.com/bbbbswbq/article/details/82354425

自己也是看着大佬的博客一遍学习一边写,也算是过了题目;

借着大佬的博客理一下思路整理出来

总体思路就是枚举每一个单位格子(小正方形),计算当它作为右下角时能构成的子矩形的个数,思想类似于DP,用到了单调栈,单调栈不理解也没关系,依然能看得懂(补一个单调栈的blog:https://blog.youkuaiyun.com/wubaizhe/article/details/70136174

枚举每一个格子作为右下角,例如(x,y),black[y]表示第 y 行黑块最大行下标,何为最大行下标?这个最大是相对意义上的最大,就是在x行上面(比x小)的黑块的行数最大的那个。

举个栗子:

                        1              2                 3         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值