25_03_17 DFS听课笔记

较快的i,o:当数据量大于10^5的数量级的时候cin,cout会比scanf,printf慢一倍

dfs的时间复杂度为 2^n:

所以n的极限是30,超过基本就跑不出来了

唐题:

确实应该构造递归搜索树:

明显清晰了好多,而且也知道应该在哪里剪枝

sewt(3)确保包含数字和空格在内只占3个空位

好像是终于明白为什么可选区间都是在值得后面进行筛选了,因为i 从 start 开始 ,start本身是上一个i + 1,所以选择的都是身后的区间

    for(int i = start;i<nums.size();i++){
        path.push_back(nums[i]);
        dfs(i+1);
        path.pop_back();
    }

把main()里cin>>num的num当作nums[i]存进去了,自己被自己蠢笑了,
还有一个常犯的错误是resize(n)后push_back(num)

posted @ 2025-04-01 09:34  Tongkuly  阅读(17)  评论(0)    收藏  举报