题解 | #矩阵乘法#

称砝码

http://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c

对于某一个砝码重量 mim_i,它的数量 ii 每增加一个,weight 这个集合就要更新一次。

更新法则很简单:所有 weight 中的元素都与这个多出来的 mim_i 相加,再并入原来的 weight

ii 的上限是 xix_i

while 1:
    try:
        n = int(input())
        m = map(int, input().split())
        x = map(int, input().split())
        
        weights = {0}
        for xi, mi in zip(x, m):
            for i in range(xi):
                weights |= set([s+mi for s in weights])
        print(len(weights))
    except:
        break
全部评论
|=什么意思呢
2 回复 分享
发布于 2023-04-03 14:50 山东
谢谢你的汉字描述,帮助我理解了代码
点赞 回复 分享
发布于 2022-11-01 10:51 陕西
牛皮的
点赞 回复 分享
发布于 2022-11-19 01:16 江苏
差不多和+= -=是同一个意思吧,|代表的是:有1为1
点赞 回复 分享
发布于 2023-05-09 10:35 四川
简约而不简单
点赞 回复 分享
发布于 2023-07-17 16:49 广东
weights |= set([s+mi for s in weights])里面[]这两个好像不是必须的,我试了没有也行
点赞 回复 分享
发布于 2024-03-29 23:25 广东

相关推荐

点赞 评论 收藏
分享
评论
28
7
分享

创作者周榜

更多
牛客网
牛客企业服务