当前位置: 首页 > news >正文

题解:洛谷 P1094 [NOIP 2007 普及组] 纪念品分组

【题目来源】

洛谷:P1094 [NOIP 2007 普及组] 纪念品分组 - 洛谷 (luogu.com.cn)

【题目描述】

元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。

你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。

【输入】

\(n+2\) 行:

第一行包括一个整数 \(w\),为每组纪念品价格之和的上限。

第二行为一个整数 \(n\),表示购来的纪念品的总件数 \(G\)

\(3~n+2\) 行每行包含一个正整数 \(P_i\) 表示所对应纪念品的价格。

【输出】

一个整数,即最少的分组数目。

【输入样例】

100 
9 
90 
20 
20 
30 
50 
60 
70 
80 
90

【输出样例】

6

【解题思路】

image

【算法标签】

《洛谷 P1094 纪念品分组》 #贪心# #排序# #NOIP普及组# #2007#

【代码详解】

#include <bits/stdc++.h>  // 包含标准库头文件
using namespace std;int w, n, l, r, a[30005], ans = 0;  // w: 最大承重, n: 物品数量, l/r: 左右指针, a: 物品重量数组, ans: 结果计数器int main()
{// 输入最大承重和物品数量cin >> w >> n;// 输入每个物品的重量for (int i = 1; i <= n; i++) {cin >> a[i];}// 将物品按重量从小到大排序sort(a + 1, a + n + 1);// 初始化双指针l = 1;  // 指向最轻的物品r = n;  // 指向最重的物品// 使用贪心算法计算最少需要的运输次数while (l <= r) {if (a[l] + a[r] > w) {  // 如果最轻和最重的不能一起运输ans++;  // 单独运输最重的r--;    // 移动右指针} else {    // 如果可以一起运输ans++;  // 计数一次运输l++;    // 移动左指针(最轻的)r--;    // 移动右指针(最重的)}}// 输出最少运输次数cout << ans << endl;return 0;
}

【运行结果】

100 
9 
90 
20 
20 
30 
50 
60 
70 
80 
90
6
http://www.jsqmd.com/news/389979/

相关文章:

  • 题解:洛谷 P1208 [USACO1.3] 混合牛奶 Mixing Milk
  • 题解:洛谷 P5019 [NOIP 2018 提高组] 铺设道路
  • 题解:洛谷 P1090 [NOIP 2004 提高组] 合并果子
  • ABC445G Knight Placement 题解
  • 题解:洛谷 P1478 陶陶摘苹果(升级版)
  • 题解:洛谷 P1106 删数问题
  • 题解:洛谷 P3817 小A的糖果
  • 题解:洛谷 P1803 凌乱的yyy / 线段覆盖
  • Spark大数据处理:技术、应用与性能优化【2.7】
  • Android Studio 中 Activity 的五种启动模式
  • 微信小程序查看备案号
  • 题解:洛谷 P1223 排队接水
  • 2026年市场上可靠的下水道疏通企业有哪些,下水道疏通排行榜行业优质排行榜亮相 - 品牌推荐师
  • Spark大数据处理:技术、应用与性能优化【2.6】
  • 前端必备:NVM管理Node版本不翻车,新手老手都能用
  • 题解:洛谷 P2240 【深基12.例1】部分背包问题
  • 写作压力小了,AI论文工具千笔 VS 万方智搜AI,研究生专属高效之选!
  • OpenClaw,重新定义AI Agent,一款真正可用的个人智能助手操作系统
  • ▲8FSK调制解调+扩频解扩通信链路matlab误码率仿真
  • 题解:洛谷 P1010 [NOIP 1998 普及组] 幂次方
  • 题解:洛谷 P1259 黑白棋子的移动
  • 完整教程:CI/CD 核心原则 + 制品管理全解析:落地要求 + 存储方案
  • 题解:洛谷 P3612 [USACO17JAN] Secret Cow Code S
  • 题解:洛谷 P1498 南蛮图腾
  • 题解:洛谷 P1228 地毯填补问题
  • 探索CNN - BILSTM - Attention多特征分类预测:Matlab实现与分析
  • 实测才敢推!更贴合研究生需求的降AIGC软件 千笔·专业降AI率智能体 VS 灵感风暴AI
  • 真的太省时间! 降AIGC工具 千笔·专业降AI率智能体 VS 学术猹 本科生专属
  • 题解:洛谷 P1990 覆盖墙壁
  • 写作小白救星:AI论文工具 千笔AI VS Checkjie,专科生专属神器!