专栏文章
OIer题解:P10410 「QFOI R2」寺秋山霭苍苍
P10410题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minmrfc1
- 此快照首次捕获于
- 2025/12/02 04:57 3 个月前
- 此快照最后确认于
- 2025/12/02 04:57 3 个月前
分析
本题的核心是将几何问题转化为二次函数极值问题:通过推导面积与 的二次函数关系,利用抛物线的单调性和顶点特性,在指定区间内快速找到最小值。解题的关键在于正确推导 的表达式,避免陷入复杂的几何计算,如海伦公式,从而兼顾精度与效率。
那么我们就可以定义一个函数 ,计算面积。
Code:
CPP#include <bits/stdc++.h>
using namespace std;
double S (double p, double S0) {
return S0 * (3 * p * p - 3 * p + 1);
}
int main () {
double l, r, x1, y1, x2, y2, x3, y3;
cin >> l >> r >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
double cross = (x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1);
double S0 = fabs (cross) / 2.0;
double ma;
if (l < 0.5 && 0.5 < r) {
double s_l = S (l, S0);
double s_mid = S (0.5, S0);
double s_r = S (r, S0);
ma = min ({s_l, s_mid, s_r});
} else {
double s_l = S(l, S0);
double s_r = S(r, S0);
ma = min (s_l, s_r);
}
cout << fixed << setprecision (12) << ma << endl;
return 0;
}
AC!
OIer的题解不易,多多谅解
OIer的题解不易,多多谅解
备注
本文章(不包含代码)使用 Deepseek R1 进行了润色
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...