acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
登录
注册
题目详情提交记录(0)
  • 题解

    粮草采购的最小花费 一、题目核心考点 本题属于贪心算法的经典应用,核心目标是在满足粮草需求量的前提下,通过 “优先采购单价最低的粮草” 的贪心策略,实现总花费最小化。 贪心策略选择:要使总花费最小,需优先采购单价最低的粮草,直到采购量满足需求。这是因为单价越低,单位粮草的成本越低,优先选择能最大化降低总花费。 步骤拆解: 存储每个农户的「单价、可供应粮草数量」; 按单价升序排序所有农户,确保先遍历低价农户; 遍历排序后的农户,每次采购 “当前农户可供应数量” 和 “剩余需求数量” 的较小值,累加花费,直到剩余需求为 0。 代码如下: #include<bits/stdc++.h> using namespace std; int main() { int n,m; cin>>n>>m; int a[m+1],b[m+1]; for(int i=1;i<=n;i++) cin>>a[i]>>b[i]; for(int i=1;i<=m;i++) for(int i1=1;i1<=m-i;i1++) if(a[i1]>a[i1+1]) { swap(a[i1],a[i1+1]); swap(b[i1],b[i1+1]); } int c=0,i=1; while(n>0) { int x=min(b[i],n); c+=a[i]*x; n-=x; i++; } cout<<c; return 0; }

    userId_undefined

    yeye

    空间掌握者10月全勤卷王11月全勤卷王
    11阅读
    0回复
    1点赞
  • 和 珅 转 世

    家人们又来做和珅了doge就比别人多贪了1.8MB(吧)

    userId_undefined

    RT的糖要整蛊

    空间掌握者时空双修者
    11阅读
    0回复
    0点赞
  • 题解

    userId_undefined

    喵仔牛奶

    小有名气8月全勤卷王9月全勤卷王11月全勤卷王题解仙人GESP5级
    15阅读
    0回复
    1点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页