关注
第四题
其实是先看的第五题,回来看了半天没思路,想了想肯定会有方案数为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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的付费上班经历 #
1589次浏览 35人参与
# 如果不上班,你会去做什么 #
850次浏览 35人参与
# MiniMax求职进展汇总 #
1121次浏览 24人参与
# 参加哪些竞赛对找工作有帮助? #
1057次浏览 20人参与
# 工作压力大,你会干什么? #
744次浏览 29人参与
# 简历第一个项目做什么 #
577次浏览 16人参与
# 职场新人体验 #
159834次浏览 1137人参与
# 拿到offer之后,可以做些什么 #
84144次浏览 438人参与
# 硬件/芯片公司工作体验 #
142242次浏览 945人参与
# 你们的毕业论文什么进度了 #
1234666次浏览 9908人参与
# 你觉得面试是靠实力还是靠运气 #
27243次浏览 303人参与
# 生物制药/化工校招攻略 #
72918次浏览 338人参与
# 牛客十周岁生日快乐 #
203927次浏览 1914人参与
# 哪些公司在招寒假实习? #
24005次浏览 340人参与
# 这些公司卡简历很严格 #
84234次浏览 379人参与
# 聊聊你的职场新体验 #
311214次浏览 1842人参与
# 当你面对裁员会如何? #
352903次浏览 2856人参与
# 秋招开了,你想投哪些公司呢 #
968125次浏览 11391人参与
# 招聘要求与实际实习内容不符怎么办 #
150035次浏览 891人参与
# 快手工作体验 #
296682次浏览 2896人参与
# 工作后明白的那些道理 #
52631次浏览 857人参与
SHEIN希音公司福利 294人发布