10月5日在图书馆的3/4天
刚过4点,想起来我好像成功开通了博客,正巧做题也累了,那就不摘下带上的耳机了,写写题解吧。
1来看看第一道题吧 https://www.luogu.com.cn/problem/P1990 覆盖墙壁
题目大概 就是给你一面N2的墙壁,然后给你两种砖块 一种是直线型2格长 ,一种是L型,不过是对称的,一共有3格长。求铺满墙壁的方案数。
这是一道递推题目,最重要的就是找到递推关系XD,那么关系怎么找呢?来吧开始猜!!!(假的)
不妨我们令F(n)表示铺满n2的墙壁的方案数。
我们先考虑第一种砖块,也就是直线型的砖块,它作为最后的砖块铺满墙壁,那么可以分为两种情况
1 直线型砖块竖直放置
也就是这个样子,那样以这种方式结束的方案有几种呢?
答案是 F(n-1) 种。2 直线型方块水平放置
也就是这个样子,这样放有几种呢?
答案是F(n-2)种。
所以我们不考虑L型的砖块是这个样子的,那么L形状的咋考虑呢? 相同,我们不妨设g(n)为第n列铺满并且第n+1列有一处有格子。
那么让L形状的砖块最后铺上,有几种方法呢?
根据我们上述的条件,很容易得出答案 g(n-2),注意,砖块可以翻转,最后的方法数别忘了2;
那么,我们就可以得出第一个递推关系了
F(n) = F(n-1) + F(n-2)+ 2g(n-2)
我们只需要得到g(n)的递推关系就可以解出这道题目了,我们要考虑,g(n)怎样可以获得。
首先,我们一定可以想到下面这种情况
这种情况的数量是F(n-3)
其次还有另一种情况不太容易想到,但是这也是一种获得的方法
这种情况的数量是 g(n-3)
所以 g(n-2)=f(n-3)+g(n-3)
即 g(n)=g(n-1)+f(n-1)
综上,我们就获得了两个递推式
F(n)=F(n-1)+F(n-2)+2*g(n-2)
g(n)=F(n-1)+g(n-1)
然后这道题目就解决啦23333!!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928492.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!