当前位置:首页 > 提高组 > NOIP 2013提高组积木大赛(洛谷P1969)题解:贪心算法优化与代码解析

NOIP 2013提高组积木大赛(洛谷P1969)题解:贪心算法优化与代码解析

8个月前 (07-14)

NOIP 2013提高组积木大赛(洛谷P1969)题解:贪心算法优化与代码解析 NOIP提高组  贪心算法 第1张

一、题目解读

2013年NOIP提高组“积木大赛”(洛谷P1969)要求处理积木堆叠问题。题目给定n个积木高度,需计算按特定规则堆叠后的总高度差。核心在于识别上升序列的累积增量,而非简单求和。

二、解题思路

观察数据规律后,采用贪心策略:仅统计连续上升的积木高度差。若当前积木高于前一个,则累加差值至结果,避免下降段的无效计算。此思路时间复杂度O(n),无需复杂数据结构

三、解题步骤

1. 输入积木数量n及每个高度值。

2. 初始化前值prev、当前值current与答案ans。

3. 循环遍历高度:若current>prev,执行ans += current - prev。

4. 更新prev为当前值,维持上升判断基准。

5. 输出最终答案。

四、代码与注释

#include <iostream>
using namespace std;

int main() {
    int n;  
    cin >> n;   // 输入积木数量  

    int prev = 0, current = 0, ans = 0;  
    for(int i = 0; i < n; ++i) {  
        cin >> current;   // 读取当前高度  
        if(current > prev) {   // 仅累加上升部分  
            ans += current - prev;  
        }  
        prev = current;   // 更新基准值  
    }  

    cout << ans << endl;  
    return 0;  
}

五、总结

该解法巧妙利用贪心思想,通过局部最优(仅统计上升差)达到全局最优解。代码简洁高效,适用于线性数据场景。注意边界处理(首项默认为0),避免复杂逻辑嵌套。


参考:NOIP

原创内容 转载请注明出处

分享给朋友:

相关文章

力扣1700题:无法吃午餐的学生数量 - 队列模拟解法详解

力扣1700题:无法吃午餐的学生数量 - 队列模拟解法详解

内容简介本文详细解析了力扣1700题"无法吃午餐的学生数量"的队列模拟解法。通过模拟学生排队取餐的过程,统计无法吃到喜欢三明治的学生数量。文章包含完整注释代码、算法思路讲解和复杂度...

洛谷P1007士兵过桥问题详解 C++贪心算法实现与优化

洛谷P1007士兵过桥问题详解 C++贪心算法实现与优化

题目解读这道题目描述了一座长度为L的桥上有n个士兵,每个士兵每秒可以向左或向右移动1个单位。当士兵到达桥的端点(0或L+1)时离开桥。要求计算所有士兵离开桥的最小时和最大时间。解题思路最小时计算:每个...

牛客13271题「删除K个数字的最小数」解题报告:贪心算法与栈的应用(附代码注释)

牛客13271题「删除K个数字的最小数」解题报告:贪心算法与栈的应用(附代码注释)

一、题目解读牛客13271题要求从给定的数字字符串中删除K个数字,使得剩余数字按原顺序排列后得到的最小数。题目核心在于如何在保持数字相对顺序的前提下,通过删除操作得到最优解。需注意结果字符串可能包含前...

1999年NOIP提高组导弹拦截(洛谷P1020)解题思路与动态规划代码解析

1999年NOIP提高组导弹拦截(洛谷P1020)解题思路与动态规划代码解析

一、题目解读    1999年NOIP提高组“导弹拦截”问题(对应洛谷P1020)要求设计导弹拦截系统:给定一组导弹高度数据,需计算最少拦截系统数量,并求最多能...

GESP五级题巧夺大奖解题报告:贪心算法优化与代码实现(洛谷B3872)

GESP五级题巧夺大奖解题报告:贪心算法优化与代码实现(洛谷B3872)

一、题目解读2023年GESP五级题目“巧夺大奖”(洛谷B3872)是一个经典的资源分配问题。题目要求玩家在有限时间内选择多个游戏,每个游戏有截止时间和奖励值,需在截止时间前完成游戏以获得奖励。目标是...

2024蓝桥杯国赛B组最小字符串题解:贪心算法实战应用(洛谷P10910代码解析)

2024蓝桥杯国赛B组最小字符串题解:贪心算法实战应用(洛谷P10910代码解析)

一、题目解读题目要求给定一个长度为N的字符串S和M个待插入字符,通过将这些字符全部插入S中,构造出字典序最小的新字符串。这是典型的字符串构造问题,考察选手对贪心算法的理解和应用能力。二、解题思路采用贪...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。