12
返回列表 发新帖
楼主: user123456
跳转到指定楼层
上一主题 下一主题
收起左侧

[动态规划] 求这道面经题的解法

🔗
nano 2019-6-11 22:21:26 | 只看该作者
全局:
可以formulate 成mixed integer linear programming 问题, 用simplex method 再round 或者branch &bound. 可以从dual, prime 估算最优值区间去掉一些branches

mmexport1560262834516.jpg (101.61 KB, 下载次数: 3)

mmexport1560262834516.jpg
回复

使用道具 举报

全局:
这题我记得可以用pq做,楼主可以上leetcode搜一搜
回复

使用道具 举报

🔗
337845818 2019-6-12 03:43:30 | 只看该作者
全局:
user123456 发表于 2019-6-11 08:34
感觉greedy似乎不行。给个反例:
Events = [1, 10], [2, 15], [11, 50], [12, 13], [13, 14]
这样Greedy ...

我合计你也没按结束时间排序啊
回复

使用道具 举报

🔗
337845818 2019-6-12 03:48:27 | 只看该作者
全局:
说到底这道题就是longest increasing subsequence, 你只需要按某一个时间排序即可,  可是我觉得你并不懂.

这个题是为数不多greedy可以直接做的. greedy只是dp的一种特殊情况.

最后, 我跟群主的回答明明一模一样, 为什么不理我的.
回复

使用道具 举报

🔗
孙行者 2019-6-12 13:44:24 | 只看该作者
全局:
user123456 发表于 2019-6-11 17:58
Hmm...这个似乎是在用假设证明基于这个假设的结论

理一下思路:
1. 按照区间的结束时间排序,再沿着结束时间从小到大一次遍历。
2. 在任意一个结束时间上来看,其对应的开始时间一定在前,所以这个区间已经结束,与后面的区间没有瓜葛,所以当选。
3. 如果下一个区间E的开始时间在当前结束时间之前,那么就略过下一个区间。假如考虑E,那么就带来两个问题:第一,必须要考虑这个区间的开始时间位置;第二,结束时间推后,往后的重叠机率更高。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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