博客
关于我
51nod 1099 任务执行顺序(贪心)
阅读量:631 次
发布时间:2019-03-14

本文共 1261 字,大约阅读时间需要 4 分钟。

为了优化给定的代码,我们进行了以下步骤:

  • 简化循环结构:合并了传入数据处理的两个循环为一个,减少了重复遍历数组的代码量。

  • 优化变量命名:将复杂的变量名称进行重新命名,以提高代码的可读性,确保变量的含义更加明确。

  • 去掉不必要的注释:对于次要的注释和对问题描述的重复说明,进行了精简,以让代码更加简洁。

  • 提高变量命名准确性:确保变量名能够准确反映其含义,例如,将sum改为更具描述性的名称。

  • 删除冗余代码:审查代码并删除了不必要的部分,确保代码简洁高效。

  • 以下是优化后的代码:

    #include
    using namespace std;const int N = 1e6 + 10;struct Node { int o, r, c; //'clock as 'c' for (o-r)};bool cmp(Node a, Node b) { // Using a comparator function return a.c > b.c;}int main() { int n; scanf("%d", &n); struct Node a[N]; for (int i = 0; i < n; ++i) { int o, r; scanf("%d%d", &o, &r); a[i].o = o; a[i].r = r; a[i].c = o - r; } sort(a, a + n, cmp); int sum = 0, maxn = 0; for (int i = 0; i < n; ++i) { if (sum + a[i].o > maxn) { maxn = sum + a[i].o; } if (sum > maxn) { maxn = sum; } sum += a[i].r; } printf("%d\n", maxn); return 0;}

    逐行解释

  • 代码开始:包含常用头文件,导入必要的命名空间,并定义了常量N作为数组的大小最大值。

  • 结构体定义Node结构体用于存储每个节点的三个属性or及其差值c

  • 比较函数cmp函数以c值降序排序,确保较大的c(即更优化的节点)排列在前面。

  • 主函数:读取输入n,邻近结构体数组a,逐个读取每个节点的or值,并计算c值。

  • 排序:使用自定义比较函数对节点按照c值降序排序。

  • 计算最大值部分:初始化summaxn。通过遍历排序后的节点,在每次处理节点时,更新maxn的值。sum总和加上当前节点的r值并逐次更新,以反映此时已经处理完的所有节点的关系。

  • 输出结果:打印最终的最大值。

  • 这种优化后的代码保留了原有算法的核心逻辑,但使其更加高效、简洁,并提高了可读性。

    转载地址:http://gfaoz.baihongyu.com/

    你可能感兴趣的文章
    NLP 模型中的偏差和公平性检测
    查看>>
    Vue3.0 性能提升主要是通过哪几方面体现的?
    查看>>
    NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
    查看>>
    NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
    查看>>
    NLP、CV 很难入门?IBM 数据科学家带你梳理
    查看>>
    NLP三大特征抽取器:CNN、RNN与Transformer全面解析
    查看>>
    NLP入门(六)pyltp的介绍与使用
    查看>>
    NLP学习笔记:使用 Python 进行NLTK
    查看>>
    NLP度量指标BELU真的完美么?
    查看>>
    NLP的不同研究领域和最新发展的概述
    查看>>
    NLP的神经网络训练的新模式
    查看>>
    NLP采用Bert进行简单文本情感分类
    查看>>
    NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
    查看>>
    NLP项目:维基百科文章爬虫和分类【02】 - 语料库转换管道
    查看>>
    NLP:从头开始的文本矢量化方法
    查看>>
    NLP:使用 SciKit Learn 的文本矢量化方法
    查看>>
    NLTK - 停用词下载
    查看>>
    nmap 使用总结
    查看>>
    nmap 使用方法详细介绍
    查看>>
    nmap使用
    查看>>