hdu6438 8.27火大啊啊啊啊.

博客围绕网选赛中商人买卖物品求最大利益的问题展开。输入n个数代表物品价格,商人一次只能在某地买卖一台或不操作。作者分享思路,用vis数组维护数的使用次数,小顶堆维护输入数,通过比较堆顶与当前输入数来计算最大利益。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网选赛做的和*一样...我背锅.

题意:输入n个数.代表某商人一次经过地方的某物品价格.商人一次只能在某个地方买或者卖一台或者不买不卖.求获得的最大利益.

我蠢到存下所有价格然后每次找最大最小价格看顺序买卖.woc想起来我就是一sb啊.........

瞎写个思路吧:首先想从短到长的结果。如果某个例子多加一个数,就找之前所有数中最小的那个然后看看卖了是否赚钱就好.如果卖掉的是之前买入的就可以减少次数!!

那我们用vis数组维护某个数被使用次数.用小顶堆维护输入的数,每输入一个数就看堆顶是否小于这个数,if.不小于,当前输入的数进堆里. else 小于,vis输入的数+1,取出堆顶的数

#include <iostream>
#include <cstdio>
#include <math.h>
#include <cstring>
#include <iomanip>
#include <algorithm>
#include <cstring>
#include <vector>
#include <map>
#include <queue>
#define gmax(a,b) (a)=max((a),(b))
#define gmin(a,b) (a)=min((a),(b))
#define xh(i,m,n) for(int i=m;i<=n;i++)
#define ll long long
#define se(w) scanf("%lf",&w)
#define ss(o) scanf("%s",o)
#define sd(q) scanf("%d",&q)
#define init(qwe) memset(qwe,0,sizeof(qwe));
#define finit(qwe) memset(qwe,-1,sizeof(qwe));
#define INF 0x3f3f3f3f
#define maxn 500005
#define dbg(vari) cerr<<#vari<<" = "<<(vari)<<endl
#define MAXN 100005
#define gmax(a,b) (a)=max((a),(b))
#define gmin(a,b) (a)=min((a),(b))
#define ios0 ios_base::sync_with_stdio(0)
#define gc getchar()
using namespace std;
map<int ,int >vis;
priority_queue <int,vector<int>,greater<int> >que;
int main()
{
    int k,num,c;sd(k);ll ans,anss;
    xh(cas,1,k)
    {vis.clear();while(!que.empty())que.pop();
        sd(num);ans=anss=0;
        while(num--)
        {
            sd(c);
        if(que.empty()||que.top()>=c)que.push(c);
        else{
            anss++;
            int fok=que.top();que.pop();
            ans+=(c-fok);
            if(vis[fok]>0){anss--;vis[fok]--;}
            que.push(c);que.push(c);
            vis[c]++;
        }
        }
        printf("%lld %lld\n",ans,2*anss);



    }
    return 0;
}

,次数+=2;如果这个数被访问过就次数-=2,vis-=1;push两个当前输入的数

基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的Python代码及详细文档和PPT(高分项目)基于机器学习进行贷款中风险预测的P
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值