楼主: 匿名
跳转到指定楼层
上一主题 下一主题
收起左侧

亚麻OA 2021

地里匿名用户
🔗
匿名用户-RB2OQ  2021-2-1 13:45:50
skmdc1991 发表于 2021-1-30 04:42
DFS + Memo coin problem
Time: 4 * N where N = Max len of 4 array (reduced from brute force of N *  ...

这个倒是有一点点可能?  能不能详细说一下你得mem是存什么?  就是key是什么,value是什么?  我当时没想出来有什么好办法可以压时间复杂度得办法。
回复

使用道具 举报

🔗
serenatxj 2021-2-2 09:42:31 | 只看该作者
全局:
backtracking/DFS 会TLE吗
回复

使用道具 举报

🔗
skmdc1991 2021-2-12 06:50:31 | 只看该作者
全局:
本帖最后由 skmdc1991 于 2021-2-12 06:58 编辑
论坛匿名用户 发表于 2021-2-1 13:45
这个倒是有一点点可能?  能不能详细说一下你得mem是存什么?  就是key是什么,value是什么?  我当时没 ...

最basic的key 用 index + “,” + budget。 value用count。不过一般这种可以用dp iterative or dfs
+ memo的都可以用2d array来 represent。
我觉得要是纯dfs time complexity应该是b ^ n * (maxLen)
b = budget
n = 4 because given 4 array or given n array
maxLen = Max of size for 4 array

memo reduced to - b * n * maxLen

根据coin是s^n -> s*n
And
1335 Min job schedule dfs后就是n*n*d

你觉得呢?
回复

使用道具 举报

🔗
bydstand 2021-2-12 07:02:19 | 只看该作者
全局:
skmdc1991 发表于 2021-2-12 06:50
最basic的key 用 index + “,” + budget。 value用count。不过一般这种可以用dp iterative or dfs
+  ...

budget的复杂度是10 ** 9
回复

使用道具 举报

🔗
Ivan6 2021-2-12 08:48:50 | 只看该作者
全局:
本帖最后由 Ivan6 于 2021-2-12 09:43 编辑

谢谢楼主分享,学习学习。
回复

使用道具 举报

🔗
skmdc1991 2021-2-12 12:16:28 | 只看该作者
全局:
bydstand 发表于 2021-2-12 07:02
budget的复杂度是10 ** 9

那也还是得走一遍吧?可能像很多题网上的都需要mod下10 ^ 9 + 7. 因为worst case 只要combination里有低于budget就要loop一边。别的有什么办法?楼主最开始的log 的我觉得不feasible。 因为是在建于把其他3个array lock position在binary search最后一个。那其实每一个数都需要lock住其他三个。
回复

使用道具 举报

🔗
bydstand 2021-2-12 16:07:52 | 只看该作者
全局:
skmdc1991 发表于 2021-2-12 12:16
那也还是得走一遍吧?可能像很多题网上的都需要mod下10 ^ 9 + 7. 因为worst case 只要combination里有低 ...

走一遍就是TLE,唯一可行的就是组合成两个10 ** 6的数组,遍历一个二分另一个,就是楼主最新说的解题思路,n*n*log n,n = 10 ** 3
回复

使用道具 举报

🔗
唐培迪 2021-2-14 04:35:43 | 只看该作者
全局:
这是社招的吗
回复

使用道具 举报

🔗
PeipeiXu 2021-2-15 00:54:38 | 只看该作者
全局:
三周前oa做过这个 我是四个list先排序 然后二分 类似3Sum 的解法 也过了 就是在找到不valid的值的时候要直接跳出循环 不然会超时
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-RB2OQ  2021-2-17 08:30:30
skmdc1991 发表于 2021-2-12 06:50
最basic的key 用 index + “,” + budget。 value用count。不过一般这种可以用dp iterative or dfs
+  ...

主要就是b太大 是 10××9 所以不管怎么弄只要是乘都超时的
回复

使用道具 举报

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

本版积分规则

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