关注
第四题
其实是先看的第五题,回来看了半天没思路,想了想肯定会有方案数为0的情况,结果能过45%...
n, k = map(int, input().split())
a = [0] + list(map(int, input().split()))
1. dp[i][j] 表示枚举到数组前i位,删了j个数的方案数
2. 正难则反,用总方案数C(n, k)减去删除后不为倍数的方案, 算贡献
dp = [[0] * (k + 1) for _ in range(n + 1)]
MOD = 10 ** 9 + 7
now = 0
for i in range(n):
ok = 0
for j in range(n):
if i == j:
continue
else:
temp = math.gcd(a[i], a[j])
if temp == a[i] or temp == a[j]:
ok = 1
break
if ok:
if now < k:
dp[i][now + 1] *= dp[i - 1]
else:
if now < k:
dp[i][now + 1] = 0
print(dp[n][k])
注释是赛时的思路,但都没推出来,整份代码其实就是变着花样的print(0)
第五题
看着很有思路,一通乱敲,过样例了!好!提交!0%!遂怒,猜了个n/2看看能过多少,结果全过了,你这数据比上午的东子都水啊。。。
# 好像代码没存,总之硬模拟了一下
print(n // 2)
查看原帖
2 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
58557次浏览 826人参与
# 硬件人的简历怎么写 #
254151次浏览 2884人参与
# 京东TGT #
46665次浏览 174人参与
# 你遇到过哪些神仙同事 #
71386次浏览 640人参与
# 我的2024小目标 #
57875次浏览 387人参与
# 工作中,你有没有遇到非常爱骂人的领导? #
16766次浏览 126人参与
# 百度工作体验 #
204510次浏览 1906人参与
# 实习生应该准时下班吗 #
201253次浏览 1312人参与
# 上班到公司第一件事做什么? #
37629次浏览 347人参与
# 国企和大厂硬件兄弟怎么选? #
119929次浏览 1656人参与
# 工作一周年分享 #
18653次浏览 109人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
104120次浏览 1075人参与
# 面试吐槽bot #
13177次浏览 85人参与
# 互联网行业现在还值得去吗 #
6214次浏览 42人参与
# 面试经验谈 #
37765次浏览 488人参与
# 拼多多工作体验 #
16544次浏览 152人参与
# 入职第五天,你被拉进了几个工作群 #
17431次浏览 80人参与
# 假如我穿越到了妈妈的18岁 #
5724次浏览 43人参与
# 国企vs私企,你更想去? #
217154次浏览 2070人参与
# 你们的毕业论文什么进度了 #
999025次浏览 9398人参与
# 机械人,你的第一份感谢信是谁给的 #
26325次浏览 296人参与