码迷,mamicode.com
首页 > 其他好文 > 详细

跳房子——meet in the middle

时间:2018-09-09 11:53:12      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:记录   自己   middle   它的   ddl   题目   代码   一个   跳房子   

题目大意如下:

有n栋房子,每个房子都有一个高度,我们只能跳到右边任意一个高度不小于当前房子的房子上,同时我们可以获得上面的金币

现在告诉你有n栋房子的高度和对应的金币数量,给出要求m,求出在这些房子上跳跃的方案中金钱数超过m的方案数(n<=40,hi,ci<=10^9)

这种恶心的数据,一看到我就直接交上暴力(数据真心水,某些暴力跑的比标算还快)

emmm,这考的是一个经典思想——meet in the middle(某位dalao考场自己居然发明了)

我们把n分成两部分,1~n/2.n/2~n,暴力处理两部分

我们会得到2*2^20个结果,记录左边的终点和金币数,记录右边的起点和金币数

对于左边的每一个结果在右边的每一个可以到达的点上二分出它的位置,记录答案

好像就这么点了吧....

(请耐心等待作者上传代码)

跳房子——meet in the middle

标签:记录   自己   middle   它的   ddl   题目   代码   一个   跳房子   

原文地址:https://www.cnblogs.com/by-w/p/9612552.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!