关注
第四题
其实是先看的第五题,回来看了半天没思路,想了想肯定会有方案数为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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 春招什么时候投? #
1866次浏览 26人参与
# 聊聊Agent开发 #
7214次浏览 186人参与
# 春节前,你还在投简历吗? #
3392次浏览 38人参与
# 推荐一个值得做的AI项目 #
2296次浏览 66人参与
# 你的房租占工资的比例是多少? #
84971次浏览 873人参与
# 春节提前走,你用什么理由请假? #
1575次浏览 31人参与
# 你上一次给父母打电话是什么时候 #
35325次浏览 246人参与
# 每个月的工资都是怎么分配的? #
85722次浏览 672人参与
# 距离春招还有一个月,你现在是什么开局? #
1682次浏览 29人参与
# 暑期实习什么时候投? #
2300次浏览 44人参与
# 你认为哪个岗位找工作最卷 #
61789次浏览 250人参与
# 新年的第一句祝福 #
56240次浏览 393人参与
# 实习想申请秋招offer,能不能argue薪资 #
218080次浏览 1167人参与
# 工作一周年分享 #
51575次浏览 272人参与
# 非技术2023笔面经 #
332286次浏览 2711人参与
# 一份好的简历长什么样? #
25132次浏览 447人参与
# 考公VS就业,你怎么选? #
92455次浏览 514人参与
# 你觉得机械有必要实习吗 #
73848次浏览 489人参与
# 汇川技术求职进展汇总 #
179615次浏览 1058人参与
# 简历当中有水分算不算造假? #
159348次浏览 2265人参与