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

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

6小时前

NOIP 2013提高组积木大赛(洛谷P1969)题解:贪心算法优化与代码解析 NOIP提高组 洛谷P1969 积木大赛 贪心算法 代码解析 第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

原创内容 转载请注明出处

分享给朋友:

相关文章

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

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

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

2017年 NOIP 提高组 逛公园(洛谷P3953)题解:代码解析与优化

2017年 NOIP 提高组 逛公园(洛谷P3953)题解:代码解析与优化

一、题目解读    2017年NOIP提高组“逛公园”题目(洛谷P3953)要求在有向图中计算从起点到终点满足特定条件的路径数量。题目难点在于处理路径长度限制与...

2024年蓝桥杯国赛A组题 九宫格全解析:基于BFS算法的代码实现与优化

2024年蓝桥杯国赛A组题 九宫格全解析:基于BFS算法的代码实现与优化

一、题目解读2024年蓝桥杯国A的九宫格题目(对应洛谷P10578)要求通过旋转九宫格中的2x2区域,实现从初始状态到目标状态的转换,并计算最小步数。该问题属于经典的图论搜索问题,需要高效的状态转换与...

【蓝桥杯省赛】2014年A组波动数列题解:动态规划解法与代码解析(C++实现)

【蓝桥杯省赛】2014年A组波动数列题解:动态规划解法与代码解析(C++实现)

一、题目解读“波动数列”是2014年蓝桥杯省赛A组的一道经典题目。题目要求生成一个数列,其前n项的和模n等于给定值s,且每项只能通过加减固定值a、b波动。问题本质是求解满足特定模运算条件的数列组合方案...

【牛客13256题解析】贪心算法优化题目组合问题:三元组与二元组的解题思路

【牛客13256题解析】贪心算法优化题目组合问题:三元组与二元组的解题思路

一、题目解读牛客13256题要求处理一组题目难度数据,通过组合三元组(难度差≤20)或二元组(难度差≤10)来重新编排题目,计算需要补充的最小题目数量。题目本质是资源分配与优化问题,需高效组合现有题目...

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

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

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

发表评论

访客

看不清,换一张

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