美团笔试

a了4.25约面了

第四题dfs+剪枝只过了25%,咋做啊?

n,k = map(int,input().split())
l = list(map(int,input().split()))
res = []
path = []
def func(l):
    l.sort()
    for i in range(1,len(l)):
        if l[i]%l[i-1]!=0:
            return False
    return True
def dfs(u):

    if len(path[:])==n-k:
        if func(path[:]):
            res.append(path[:])
        return
    for i in range(u,n):
        path.append(l[i])
        dfs(i+1)
        path.pop()

    return res

ans = dfs(0)
print(len(ans)%(10**9+7))


全部评论
输出0,45%
1 回复 分享
发布于 2023-09-02 21:42 陕西
先对数排序,然后p i j 表示第i个数为最大数的情况下剩余j个数的情况数 当nj是ni的倍数时p j l 等于 p i l-1
1 回复 分享
发布于 2023-09-02 21:35 河北
我就想知道这场笔试题啥时候能在牛客上开放,我要看下是不是真的不支持cache修饰符
点赞 回复 分享
发布于 2023-09-03 10:19 北京
树形dp应该可以
点赞 回复 分享
发布于 2023-09-03 04:08 香港
第四题题目是什么来着?记不起来了
点赞 回复 分享
发布于 2023-09-03 01:02 山东
暴力动态规划能过
点赞 回复 分享
发布于 2023-09-03 00:20 上海
回溯,超内存
点赞 回复 分享
发布于 2023-09-02 22:45 德国
我也是...
点赞 回复 分享
发布于 2023-09-02 22:04 广东
你们都有第五题么?我好像没有第五题?是我漏了么?
点赞 回复 分享
发布于 2023-09-02 21:41 江苏
动态规划
点赞 回复 分享
发布于 2023-09-02 21:22 广东

相关推荐

不愿透露姓名的神秘牛友
07-01 12:22
点赞 评论 收藏
分享
程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
评论
3
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务