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

狗一道follow up,求大神看看怎么写的

🔗
 楼主| 三十六度五分 2021-6-17 02:09:06 | 只看该作者
全局:
生蚝来十个 发表于 2021-6-16 14:18
感谢分享。感觉这个Stack Overflow的post应该可行。
想到另一个follow up:如果给出每个city加满油的价 ...

昨天Google的时候好像看到有人写论文讨论这个问题。。。我感觉应该挺麻烦的
回复

使用道具 举报

🔗
wbxzhr123 2021-6-17 02:30:56 | 只看该作者
全局:
三十六度五分 发表于 2021-6-17 02:08
懂了。我把问题想的太复杂了。其实我觉得我想法是对的,我想到的是构建新图,然后面试官一直question我在 ...

面试不就是这样,45分钟要是走错路了很容易拐不了弯,我一直都觉得运气和实力五开。
回复

使用道具 举报

🔗
qinxnelaine 2021-6-17 05:14:58 | 只看该作者
全局:
我觉得这道题目和蠡口伊尔就散很神似 那道题也要处理折返怎么办 首先我觉得这道题目用bfs是正确方向 而且我觉得有一点可以确认就是bfs返回的值肯定就是最短的 否则用Bfs也没有意义 所以谁能第一个到达终点最就是那个值。 其次我们在这里要防止返回的无限循环 所以油量就是时间 我们只需要一个哈利表去存储油量和结点对子, 如果这个对子出现过 说明走过 而且因为是bfs所以走过的含义就是早于现在的时间 所以我们直接忽略就可以了,如果有问题的话欢迎指正 我并不觉得这里要用到dp。
回复

使用道具 举报

🔗
 楼主| 三十六度五分 2021-6-17 05:59:01 | 只看该作者
全局:
qinxnelaine 发表于 2021-6-17 05:14
我觉得这道题目和蠡口伊尔就散很神似 那道题也要处理折返怎么办 首先我觉得这道题目用bfs是正确方向 而且我 ...

你是对的。我面试的时候被面试官问糊涂了
回复

使用道具 举报

🔗
cxw111 2021-6-19 13:20:51 | 只看该作者
全局:
qinxnelaine 发表于 2021-6-17 05:14
我觉得这道题目和蠡口伊尔就散很神似 那道题也要处理折返怎么办 首先我觉得这道题目用bfs是正确方向 而且我 ...

和层主差不多的思路,我觉得我们可以加一个memo 来存储 到达一个stop的当前最大油量来减枝
比如
A(10) -> B(9) -> A(8) -> .....
我默认这个图是个无向图,如果是有方向,那就不用考虑了.
回复

使用道具 举报

全局:
看到我出的题 在这里被讨论了 简直滑稽
回复

使用道具 举报

全局:
一般我们做 dikstra's 有 pruning tree 的步骤:

for (int child : cur.adjs) {
      if (curStep + 1 < dis[child]) {
           dis[child] = curStep + 1;
           pq.offer(child);
      }
}
如果把code改成下面的样子会不会就work了:

if (capacity == 0) continue;
for (int child : cur.adjs) {
      if (curStep + 1 < dis[child]) {
           dis[child] = curStep + 1;
      }
     pq.offer(child);
}

1 如果目前的current node已经没油了,就必须停止,不search adjacent
2 已经visit过的node已经得到了shortest distance就不需要update了
3 最关键的,哪怕没能update shorter distance,我们还是往PQ里push node,这样可以折回去加油走弯路
回复

使用道具 举报

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

本版积分规则

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