关注
第四题
其实是先看的第五题,回来看了半天没思路,想了想肯定会有方案数为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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客吐槽大会 #
14489次浏览 228人参与
# 实习,不懂就问 #
159298次浏览 1415人参与
# 晒晒你司的新年福利 #
1179次浏览 25人参与
# 国企秋招,你投了吗? #
58882次浏览 376人参与
# 程序员找工作至少要刷多少题? #
1092次浏览 21人参与
# 暑假倒计时,你都干了些啥? #
39454次浏览 204人参与
# 硬件/芯片公司工作体验 #
146826次浏览 960人参与
# 软开人,秋招你打算投哪些公司呢 #
178373次浏览 1353人参与
# 硬件人秋招进展 #
269411次浏览 3983人参与
# 毕业后不工作的日子里我在做什么 #
232896次浏览 1691人参与
# 帆软软件工作体验 #
11388次浏览 55人参与
# 运营人求职交流聚集地 #
208598次浏览 1091人参与
# 学历or实习经历,哪个更重要 #
232834次浏览 1225人参与
# 实习越久越好,还是多多益善? #
69000次浏览 332人参与
# AI“智障”时刻 #
23809次浏览 119人参与
# 你觉得实习能学到东西吗 #
134888次浏览 1453人参与
# 第一份工作应该只看薪资吗 #
233899次浏览 1855人参与
# 电信求职进展汇总 #
39775次浏览 197人参与
# 关于春招你都做了哪些准备? #
125855次浏览 717人参与
# AI求职实录 #
19894次浏览 472人参与
查看26道真题和解析