关注
第四题
其实是先看的第五题,回来看了半天没思路,想了想肯定会有方案数为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
相关推荐
点赞 评论 收藏
分享
02-17 23:16
南京理工大学 C++ 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客新年AI问运 #
6622次浏览 110人参与
# 工作中的卑微时刻 #
33459次浏览 199人参与
# 牛客AI体验站 #
16313次浏览 288人参与
# 多益网络工作体验 #
63197次浏览 306人参与
# 有必要和同事成为好朋友吗? #
1068次浏览 21人参与
# 正在实习的碎碎念 #
1645136次浏览 13716人参与
# 面试中的破防瞬间 #
1190359次浏览 11027人参与
# 工作一周年分享 #
52372次浏览 274人参与
# 滴!实习打卡 #
786664次浏览 6841人参与
# 秋招吐槽大会 #
304382次浏览 1523人参与
# 机械人的薪资开到多少,才适合去? #
165078次浏览 571人参与
# 你最满意的offer薪资是哪家公司? #
71423次浏览 353人参与
# 大学最后一个寒假,我想…… #
89313次浏览 809人参与
# 你怎么看待AI面试 #
146068次浏览 786人参与
# 哪些公司真双非友好? #
62931次浏览 268人参与
# OC/开奖 #
411357次浏览 2282人参与
# 为了实习逃课值吗? #
65815次浏览 526人参与
# 如果可以选,你最想从事什么工作 #
722157次浏览 4870人参与
# 重来一次,你会对开始求职的自己说 #
32884次浏览 388人参与
# 如何提高实习转正率? #
86596次浏览 505人参与
