关注
第四题
其实是先看的第五题,回来看了半天没思路,想了想肯定会有方案数为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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你的秋招白月光和意难平公司 #
17854次浏览 163人参与
# 找实习是选平台还是选业务? #
14721次浏览 180人参与
# 百度秋招 #
57546次浏览 396人参与
# 你想跟着什么样领导? #
11423次浏览 132人参与
# 什么样的背景能拿SSP? #
119512次浏览 418人参与
# 从夯到拉,评价编程语言 #
10174次浏览 81人参与
# 每个月花钱最多的地方是? #
8277次浏览 107人参与
# xxx岗位的一天 #
14620次浏览 129人参与
# 十一月总结 #
20961次浏览 213人参与
# 哪一瞬间让你觉得工作好累 #
14605次浏览 179人参与
# 应届生进小公司有什么影响吗 #
100937次浏览 1073人参与
# 职场上哪些事情令人讨厌 #
27505次浏览 111人参与
# 深信服求职进展汇总 #
237516次浏览 1799人参与
# 巨人网络工作体验 #
68576次浏览 499人参与
# 你面试时吹过最大的牛 #
26543次浏览 144人参与
# AI“智障”时刻 #
8699次浏览 77人参与
# 分享一个让你热爱工作的瞬间 #
48954次浏览 418人参与
# 机械人还在等华为开奖吗? #
281146次浏览 1438人参与
# 一人一个landing小技巧 #
134192次浏览 1479人参与
# 实习的内耗时刻 #
203979次浏览 1497人参与
# 牛客租房专区 #
128146次浏览 1359人参与
阿里云工作强度 667人发布