题解:洛谷 P5713 洛谷团队系统
【题目来源】
【题目描述】
在洛谷上使用团队系统非常方便的添加自己的题目。如果在自己的电脑上配置题目和测试数据,每题需要花费时间 \(5\) 分钟;而在洛谷团队中上传私有题目,每题只需要花费 \(3\) 分钟,但是上传题目之前还需要一次性花费 \(11\) 分钟创建与配置团队。现在要配置 \(n\) 道题目,如果本地配置花费的总时间短,请输出 Local,否则输出 Luogu。
【输入】
输入一个正整数 \(n\),表示需要配置的题目量。
【输出】
输出一行,一个字符串。如果本地配置花费的总时间短,请输出 Local,否则输出 Luogu。
【输入样例】
2
【输出样例】
Local
【核心思想】
-
问题分析:给定题目数量 \(n\),比较两种配置方式的总时间:本地配置每题 \(5\) 分钟(总时间 \(5n\)),洛谷团队每题 \(3\) 分钟但需一次性 \(11\) 分钟准备(总时间 \(3n + 11\))。输出时间更短的方案。
-
算法选择:
- 直接比较:计算两种方案的总时间,比较大小后输出对应字符串
-
关键步骤:
- 读入数据:
cin >> n - 比较时间:
- 本地时间:
5 * n - 洛谷时间:
3 * n + 11 - 若
5 * n < 3 * n + 11:输出"Local" - 否则:输出
"Luogu"
- 本地时间:
- 边界分析:解不等式 \(5n < 3n + 11\) 得 \(n < 5.5\),即 \(n \le 5\) 时本地更快,\(n \ge 6\) 时洛谷更快或相等
- 读入数据:
-
时间/空间复杂度:
- 时间复杂度:\(O(1)\),单次比较和输出
- 空间复杂度:\(O(1)\),仅需一个整型变量
-
成本比较的核心思想:
- 固定成本 vs 可变成本:洛谷方案有固定成本 \(11\)(创建团队),但可变成本 \(3n\) 更低;本地方案无固定成本,但可变成本 \(5n\) 更高
- 盈亏平衡点:当 \(n = 6\) 时,\(5 \times 6 = 30\),\(3 \times 6 + 11 = 29\),洛谷开始更优
- 简单决策模型:无需复杂算法,直接代入比较即可做出最优选择
- 适用于成本分析、方案比较、简单决策类入门问题
【算法标签】
入门 #模拟
【代码详解】
#include <bits/stdc++.h> // 包含标准库头文件(万能头文件)
using namespace std; // 使用标准命名空间
/**
* 主函数 - 程序入口
* @return 程序执行状态码(0表示成功)
*/
int main()
{
int n; // 定义变量:题目数量n
cin >> n; // 输入题目数量
// 比较两种刷题策略的时间消耗
if (5 * n < 3 * n + 11)
{
// 如果本地刷题更快(5n < 3n+11)
cout << "Local";
}
else
{
// 如果洛谷刷题更快或时间相同
cout << "Luogu";
}
return 0; // 程序正常结束
}
【运行结果】
2
Local
浙公网安备 33010602011771号