日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

【JZOJ4835】【GDOI2017模拟10.31】量化交易

發(fā)布時間:2025/5/22 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【JZOJ4835】【GDOI2017模拟10.31】量化交易 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述

數(shù)據(jù)范圍

解法

貪心;
從左往右枚舉,設(shè)枚舉到元素為x,并維護一個堆:
設(shè)此時堆頂元素為y,
如果x大于y,那么x可以與y產(chǎn)生差價,立即將差價貢獻給答案。
如果y之前已經(jīng)和其他元素z產(chǎn)生過差價了,那么y顯然可以省出來以得到最優(yōu)答案,因為x-z=x-y+y-z;
否則,把y移出堆。

代碼

#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define ll long long #define sqr(x) ((x)*(x)) #define ln(x,y) ll(log(x)/log(y)) using namespace std; const char* fin="trade.in"; const char* fout="trade.out"; const ll inf=0x7fffffff; const ll maxn=100008; ll n,i,j,k,v=0,ans,t; ll a[maxn],son[maxn]; struct dui{ll data[maxn],num;void init(){memset(data,0,sizeof(data));num=0;}dui(){init();}bool cmp(ll v,ll u){return a[v]<=a[u];}void up(ll x){while (x>1 && cmp(data[x],data[x/2])) swap(data[x],data[x/2]),x=x/2;}void down(ll x){while (x*2<=num && cmp(data[x*2],data[x]) || x*2+1<=num && cmp(data[x*2+1],data[x])){if (x*2+1>num || cmp(data[x*2],data[x*2+1])){swap(data[x],data[x*2]);x=x*2;}else{swap(data[x],data[x*2+1]);x=x*2+1;}}}void push(ll v){data[++num]=v;up(num);}void pull(){swap(data[1],data[num--]);down(1);}ll top(){if (num) return data[1];else return 0;} }d; ll read(){ll x=0,y=0;char ch=getchar();while (ch<'0' || ch>'9') {ch=getchar();y++;if (y==10) return -1;}while (ch>='0' && ch<='9') x=x*10+ch-'0',ch=getchar();return x; } int main(){freopen(fin,"r",stdin);freopen(fout,"w",stdout);while (1){n=read();if (n==-1) break;ans=0;t++;d.init();for (i=1;i<=n;i++) a[i]=read();memset(son,0,sizeof(son));for (i=1;i<=n;i++){if (d.top()){j=d.top();if (a[i]>a[j]){ans+=a[i]-a[j];if (son[j]){son[j]=0;son[i]=j;}else {d.pull();son[i]=j;}}}d.push(i);}printf("Case #%lld: %lld\n",t,ans);}return 0; }

啟發(fā)

有關(guān)策略的問題可以考慮貪心;
貪心正著推,可以使用數(shù)據(jù)結(jié)構(gòu)幫助貪心找到更優(yōu)的解。

轉(zhuǎn)載于:https://www.cnblogs.com/hiweibolu/p/6714859.html

總結(jié)

以上是生活随笔為你收集整理的【JZOJ4835】【GDOI2017模拟10.31】量化交易的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。