10月28,K神开讲数据科学:AB Test/实验设计


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 784|回复: 5
收起左侧

[算法题] tiling算法題求解

[复制链接] |试试Instant~ |关注本帖
gnijuohz 发表于 2014-3-4 01:45:48 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
Given N(integer), try to tile a 4 x N rectangle with 3 x 1 tiles.  In how many ways can it be done?


RT。周末准备参加学校里的一个编程小比赛,这是去年的一题。目前依旧没思路~
北美农民 发表于 2014-3-4 02:02:26 | 显示全部楼层
状态压缩动态规划吧。  铺瓷砖是经典应用了, 可以搜一下很多类似的
回复 支持 反对

使用道具 举报

 楼主| gnijuohz 发表于 2014-3-4 02:08:59 | 显示全部楼层

是的,2*N和3*N的不难,但4*N就让我蒙了~,求北美哥分析出递推式。。。
回复 支持 反对

使用道具 举报

北美农民 发表于 2014-3-4 02:22:33 | 显示全部楼层
gnijuohz 发表于 2014-3-3 13:08
是的,2*N和3*N的不难,但4*N就让我蒙了~,求北美哥分析出递推式。。。

别喊我北美哥, 难听死了= =。 这题都一样的。 论坛回复不好解释啊, 要画图。 别说4*n了, m*n都行。

简单来说就是每一列看做一个二进制, D(i,j)表示第i列状态为j(转化为十进制后)能有多少方案, D[i,j] = 累加D[i - 1, k], 其中j和k必须兼容, 你得用dfs做好预处理。
回复 支持 反对

使用道具 举报

 楼主| gnijuohz 发表于 2014-3-5 01:37:07 | 显示全部楼层
北美农民 发表于 2014-3-3 11:22
别喊我北美哥, 难听死了= =。 这题都一样的。 论坛回复不好解释啊, 要画图。 别说4*n了, m*n都行。

...

Alright, so the idea is swapping N with 4 and using DP? I'll try.

Do you have a blog or something? I think I could learn a lot :)
回复 支持 反对

使用道具 举报

北美农民 发表于 2014-3-5 01:44:26 | 显示全部楼层
gnijuohz 发表于 2014-3-4 12:37
Alright, so the idea is swapping N with 4 and using DP? I'll try.

Do you have a blog or somethi ...

我也是新人, 没有blog这些。

这题因为基本unit是1*3或者3*1, 你要仔细想好怎么横着放怎么显示, 竖着放怎么显示, 状态转移怎么来。
但是anyway, 方法是general的
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-10-17 21:32

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表