Tri Tiling递推思路(杭电1143)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1143

思路分析:

       1) 很容易发现当n是奇数时,结果是0,。(面积法:3*n是一个奇数,奇数不可能由多个偶数1*2相加得到)

       2) 当n是偶数时,我们将3*n的区域用一条竖线分割成左右两个区域,右边区域记为3*k(2<=k<=n-2),而且右边区域不能被  竖线分割成两个区域。记右边区域的排列数为g(k),那么总的排列总数为g(k)*f(n-k)。当k=2时,我们通过画图可以发现    g(2)=3;当k>2时,通过画图可以发现g(k)恒等于2;(因为右边区域不可被竖线分割,当右边区域的最右边的那一列由一 个1*2的格子和2*1的格子铺好时,剩余区域的铺法都唯一确定了,而1*2和2*1的格子位置可以上下互换,故恒等于2)对 了,还有k=0的情况,也就是整个区域都不可以被竖线分割,那么铺法为2;所以我们可以发现一个规律:f(n)=3*f(n-2)+2*f(n-4)+2*f(n-6)+......+2*f(2)+2;同理,f(n-2)=3*f(n-4)+2*f(n-6)+.....+2*f(2)+2;两式相减可得 f(n)=4*f(n-2)-f(n-4)。

猜你喜欢

转载自blog.csdn.net/weixin_42172676/article/details/81413611