1 条题解
信息
- ID
- 662
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 4
- 已通过
- 0
- 上传者
平面上有n个点,将其包含在k个矩形中(不相交),求矩形的最小面积和。
n≤50,1≤k≤4
我们看到n≤50,并且结合NOIP早期题目的数据特水的尿性,自然而然地想到深搜,所以大力深搜即可。
深搜流程伪代码:
void dfs(int u) {
if(u == n + 1){
更新答案;
return;
}
for(int i = 0; i < k; i++){
将第u个点加入第i个矩形;
if(矩形间不相交)
dfs(u + 1);
将第i个矩形恢复成加入第u个点前的状态;
}
}
不出意外,代码交上去之后跑得飞快!然后这道题就做完了!