专栏文章
题解:P13581 [NWRRC 2023] Axis-Aligned Area
P13581题解参与者 2已保存评论 2
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @miohoclu
- 此快照首次捕获于
- 2025/12/02 19:22 3 个月前
- 此快照最后确认于
- 2025/12/02 19:22 3 个月前
1.题目思路
由于只有四根木棒,又要求每根木棒都与两条坐标轴中的一条平行,还要求围成封闭区域,再结合样例解释,我们发现,围成的封闭区域一定是一个长方形(包含正方形)。
而长方形有一个重要的性质:有两组对边,且对边长度相等。
而由于四根木棒必须全部使用,为了保证封闭面积最大,我们要减少木棍长度的浪费,即让长方形两条对边的长度差的绝对值尽量小。
再看题面,发现 数组是非递减的,这启发我们让 为一组对边,让 为另一组对边。这样既保证了对边长度之差的绝对值最小,又最小化了长度的浪费,使封闭面积最大,为最优的方式。
分组完成后,容易发现此时的答案即为 ,因为无法规避短边对答案的影响(不能拿长边去覆盖短边,这样图形将无法封闭,所以此时必然会有浪费,但这不可避免)。答案直接输出即可。
2.代码
是的,代码真的很短。
CPP#include<iostream>
#include<cstdio>
using namespace std;
int a[5];
int main(){
for(int i=1;i<=4;i++){
scanf("%d",&a[i]);
}
printf("%d\n",min(a[1],a[2])*min(a[3],a[4])); //计算答案
return 0;
}
3.后记
更多内容,请移步至:
相关推荐
评论
共 2 条评论,欢迎与作者交流。
正在加载评论...