返回列表

1st Place Solution

393. Hash Code Archive - Photo Slideshow Optimization | hashcode-photo-slideshow

开始: 2020-04-27 结束: 2020-07-27 数学与计算 数据算法赛
第一名解决方案

第一名解决方案

作者: aDg4b
发布时间: 2020-07-28

我的最终解决方案是我的公开内核的一个略微修改版本。

第一阶段:排列横向照片

我从横向照片中制作了许多理想的子序列,并尝试通过各种技巧减少子序列的数量。最有效的技巧是利用纵向照片将两个横向子序列拼接起来。结果,我得到了一个包含 32116 张幻灯片(30000 张横向 + 4232 张纵向)的理想幻灯片。

第二阶段:匹配剩余的纵向照片

我使用了 @huikang 在此处提出的稍作修改的方法。我对这段代码进行了向量化,并针对幻灯片大小(12, 13, 14, 15, 16, 17, 18, 19)设置了惩罚项。这一步为我额外增加了 60 分。

第三阶段:排列所有照片

我将第二阶段合并的照片添加到第一阶段的幻灯片中,然后再次执行与第一阶段完全相同的操作。最终得分为 443293。

第四阶段:后处理

简单的处理:反转幻灯片的一部分,试图提高分数。


总分 443363(理论最大值约 443400)

运行时间约 40 分钟

代码:https://github.com/w9PcJLyb/Photo-Slideshow-Optimization


感谢主办方筹备这次比赛。这很有趣。我很乐意在 Kaggle 上看到更多 Hash Code 挑战。