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

tiktok卷王MLE OA, 直接气急败坏关掉窗口。

   
地里匿名用户
🔗
匿名用户-UBHPH  2020-11-24 02:53:33
beijianzhizun 发表于 2020-11-24 02:49
第二题不就是拿K次攻击的能赢的组合除以所有k次攻击的可能造成的看血量来算。
我写了个方程:

Make sense, 我也是用类似的方法做的,但是时间复杂度太高了。题目里面说尝试用close math form,简直有毒
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-NDMVO  2020-11-24 04:59:14
匿名者 发表于 2020-11-24 01:10
既相当于投骰子,骰子有从0到m个数字面,投k次,问你出现的数字之和是否能大于等于n。当k比较大的时候这道 ...

所以,求教k比较大的时候该怎么做才能保证误差范围?
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-YMWTY  2020-11-24 05:53:32
我的思路是 第二题其实用dp就可以应对大部分的情况,时间复杂度大概是O(n * m * k)。无法用dp解决的是n, m, k都很大的时候,这种情况下其实ituitively就可以觉得概率是1,比如test case 3给的就是n, m, k都是1000的情况。这种情况下其实可以用中心极限定理去近似,如果n小于均值减去5倍标准差就可以认为概率是1。
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-0QVUX  2020-11-24 06:11:18
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
chunlun2 2020-11-24 06:35:29 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
deepli 2020-11-24 06:39:20 | 只看该作者
全局:
chunlun2 发表于 2020-11-23 17:35
我這邊的 hasCircle 是如果從d開始檢查的話 由於dfs沒法回到d這個點 (d->a->b->c->a->迴圈) 則不算有circ ...

但是从a开始检查的话会回到a的,请问大神怎么解决呀
回复

使用道具 举报

🔗
阿骛 2020-11-24 06:39:35 | 只看该作者
全局:
去年我做腾讯OA也是两小时4道题,只做出了1.5道……然后还是收到电面了。所以没关系的

评分

参与人数 1大米 +1 收起 理由
chunlun2 + 1 很有用的信息!

查看全部评分

回复

使用道具 举报

🔗
deepli 2020-11-24 06:40:17 | 只看该作者
全局:
匿名者 发表于 2020-11-23 16:53
我的思路是 第二题其实用dp就可以应对大部分的情况,时间复杂度大概是O(n * m * k)。无法用dp解决的是n, m, ...

兄弟能说说dp的思路吗?谢谢!
回复

使用道具 举报

🔗
andrea_005 2020-11-24 06:51:39 | 只看该作者
全局:
楼主太可爱了,昨天承包我的笑点一整天
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-YMWTY  2020-11-24 06:58:56
本帖最后由 匿名 于 2020-11-24 07:02 编辑
deepli 发表于 2020-11-24 06:40
兄弟能说说dp的思路吗?谢谢!
  1. dp = [1.0] + [0.0] * (N - 1)
  2. for _ in range(K):
  3.     newdp = [0] * N
  4.     for i in range(len(dp)):
  5.         if dp[i] > 0:
  6.             for j in range(M + 1):
  7.                 if i + j < N:
  8.                     newdp[i + j] += dp[i] / (M + 1)
  9.     dp = newdp
  10. return 1 - sum(dp)
复制代码

[/i][/i]


评分

参与人数 1大米 +1 收起 理由
Mikey + 1 很有用的信息!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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