题意:有\([1,n]\)这\(n\)个数,构造集合,集合中不能包含\(u\)和\(v\),问最多能构造多少个集合. 题解:被这题卡了一整场.....以为是推公式,结果答案是暴搜? 首先我们先用一个二维数组标记一下所有\(u\)和\(v\),然后从\(1\)开始搜,如果\(num>k\)就表示一种情况搜完了,首先考虑不选,深搜,然后再判断标记情况和小于\(num\)的数是否被选过,如果不满足就返回上一层,否则选当前这个数,标记,深搜,回溯即可. 代码: /** * struct Point…