日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[SCOI2010]股票交易

發布時間:2025/7/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [SCOI2010]股票交易 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

洛谷題目連接:[SCOI2010]股票交易

題目描述

最近lxhgww又迷上了投資股票,通過一段時間的觀察和學習,他總結出了股票行情的一些規律。

通過一段時間的觀察,lxhgww預測到了未來T天內某只股票的走勢,第i天的股票買入價為每股APi,第i天的股票賣出價為每股BPi(數據保證對于每個i,都有APi>=BPi),但是每天不能無限制地交易,于是股票交易所規定第i天的一次買入至多只能購買ASi股,一次賣出至多只能賣出BSi股。

另外,股票交易所還制定了兩個規定。為了避免大家瘋狂交易,股票交易所規定在兩次交易(某一天的買入或者賣出均算是一次交易)之間,至少要間隔W天,也就是說如果在第i天發生了交易,那么從第i+1天到第i+W天,均不能發生交易。同時,為了避免壟斷,股票交易所還規定在任何時間,一個人的手里的股票數不能超過MaxP。

在第1天之前,lxhgww手里有一大筆錢(可以認為錢的數目無限),但是沒有任何股票,當然,T天以后,lxhgww想要賺到最多的錢,聰明的程序員們,你們能幫助他嗎?

輸入輸出格式

輸入格式:

輸入數據第一行包括3個整數,分別是T,MaxP,W。

接下來T行,第i行代表第i-1天的股票走勢,每行4個整數,分別表示APi,BPi,ASi,BSi。

輸出格式:

輸出數據為一行,包括1個數字,表示lxhgww能賺到的最多的錢數。

輸入輸出樣例

輸入樣例#1:

5 2 0
2 1 1 1
2 1 1 1
3 2 1 1
4 3 1 1
5 4 1 1

輸出樣例#1:

3

說明

對于30%的數據,0<=W<T<=50,1<=MaxP<=50

對于50%的數據,0<=W<T<=2000,1<=MaxP<=50

對于100%的數據,0<=W<T<=2000,1<=MaxP<=2000

對于所有的數據,1<=BPi<=APi<=1000,1<=ASi,BSi<=MaxP

一句話題意: 每天最多可以買進\(as_i\)張股票,賣出\(bs_i\)張股票,但是每個時刻手中的票最多都只能有\(maxp\)張,每買入一張股票可以獲得\(ap_i\)元,賣出一張股票可以獲得\(bp_i\)元,且如果第\(i\)天進行了交易,那么從第\(i+1\)到第\(i+w\)天都不能再進行交易,問到第\(n\)天最多可以獲得的價值.

題解: 這個數據范圍顯然是能DP的.我們先想一下狀態該如何定義.

首先根據這個狀態轉移的條件,有交易的天數限制,所以顯然是需要一維來存交易到第幾天的.然后是對于手中持有的股票數量的限制,顯然至少是需要一重循環來枚舉目前手中持有的股票數量的,所以考慮將這個也加入狀態中.可得狀態\(f[i][j]\)表示到第\(i\)天手中持有\(j\)張股票的最大利益.那么最后的答案就是
\(f[n][0]\),因為顯然在最后一天把所有股票都賣出不會比留著股票差.

然后想一下如何轉移這個狀態.那么從上一個狀態到現在的狀態\(f[i][j]\),顯然只有這幾種情況:

  • \(i-1\)天沒有買/賣股票,第\(i\)天的最大收益為\(f[i-1][j]\).
  • \(i-w-1\)天進行了股票的買賣且擁有\(k(k<j)\)張股票,第\(i\)天有股票\(j\)張,此時買入了\(j-k\)張股票,可得最大收益為\(f[i][j] = max(f[i][j], f[i-w-1][k]-(j-k)*ap[i])\)
  • \(i-w-1\)天進行了股票的買賣且擁有\(k(k>j)\)張股票,第\(i\)天有股票\(j\)張,此時賣出了\(k-j\)張股票,可得最大收益為\(f[i][j]=max(f[i][j], f[i-w-1][k]+(k-j)*bp[i])\)

此外沒有別的轉移方式了,所以可以列出狀態轉移方程.

那么考慮了狀態轉移之后,仔細想想發現這個時間復雜度是\(O(T*maxp^2)\)的,顯然這樣是不能過100%的數據的.所以需要使用一些優化.

這里我們將這個狀態轉移方程展開一下,發現:
\[f[i-w-1][k]+(k-j)×bp[i]=(f[i-w-1][k]+k×bp[i])-j×bp[i]\]
也就是說,在枚舉了\(i,j\)的情況下,\(i,j\)是可以看做常數的,那么此時對答案有影響的就只有\(k\) .并且我們發現, 如果\(j\)是以正確的順序枚舉的,那么\(k\)也就是逐漸在平移的了.比如說買入股票,那么擁有的股票也就會越來越多,賣出的話擁有的股票就會越來越少,事實上這個是符合 單調隊列優化的條件的,所以我們可以考慮將目前擁有的股票數存入單調隊列中,優化后復雜度為\(O(T*maxp)\).

當然分開和賣出的兩種情況是要分開使用隊列的,因為他們各自具有單調性,但是合起來并沒有.

#include<bits/stdc++.h> using namespace std; const int N=2000+5;int n, maxp, w, ap[N], bp[N], as[N], bs[N], ans = 0; int f[N][N], h1, h2, t1, t2, q1[N], q2[N];int main(){cin >> n >> maxp >> w;for(int i=1;i<=n;i++)cin >> ap[i] >> bp[i] >> as[i] >> bs[i];memset(f, 128, sizeof(f)); f[0][0] = 0;for(int i=1;i<=n;i++){for(int j=0;j<=maxp;j++)f[i][j] = max(f[i][j], f[i-1][j]);for(int j=0;j<=as[i];j++)f[i][j] = max(f[i][j], -1*j*ap[i]);if(i <= w) continue;h1 = h2 = 1, t1 = t2 = 0;for(int j=0;j<=maxp;j++){while(h1 <= t1 && f[i-w-1][q1[t1]]-ap[i]*(j-q1[t1]) <= f[i-w-1][j]) t1--;while(h1 <= t1 && j-q1[h1] > as[i]) h1++;q1[++t1] = j;if(h1 <= t1) f[i][j] = max(f[i][j], f[i-w-1][q1[h1]]-(j-q1[h1])*ap[i]);}h1 = h2 = 1, t1 = t2 = 0;for(int j=maxp;j>=0;j--){while(h2 <= t2 && f[i-w-1][q2[t2]]+bp[i]*(q2[t2]-j) <= f[i-w-1][j]) t2--;while(h2 <= t2 && q2[h2]-j > bs[i]) h2++;q2[++t2] = j;if(h2 <= t2) f[i][j] = max(f[i][j], f[i-w-1][q2[h2]]+(q2[h2]-j)*bp[i]);}}printf("%d\n", f[n][0]);return 0; }

轉載于:https://www.cnblogs.com/BCOI/p/9133358.html

總結

以上是生活随笔為你收集整理的[SCOI2010]股票交易的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 三上悠亚在线一区 | 久久久久久久久久久影院 | babes性欧美69 | 欧美国产成人精品一区二区三区 | 伊人影视网 | 久久成人精品一区二区 | 色天天| 亚洲精品网站在线观看 | 久久在线中文字幕 | 老司机深夜福利视频 | 久久免费国产 | 高清毛片aaaaaaaaa郊外 | 国产超碰在线 | 欧美成本人视频 | 欧美黄色网 | 123成人网| 免费在线观看中文字幕 | 日韩女优在线播放 | 久久免费福利视频 | 亚洲码欧美码一区二区三区 | 激情综合激情五月 | 亚洲爽爆| 久久久久久久久久久久久久久久久 | 精品人妻一区二区三区日产乱码 | 国产情侣一区二区三区 | 亚洲a一区 | 亚洲精品成人无码熟妇在线 | 欧美三区四区 | 天天看片天天操 | 亚洲美女黄色 | 亚洲成人伦理 | 操xxxx| 久久久com| 成年人在线视频观看 | 黄色小说在线观看视频 | 6—12呦国产精品 | 国产微拍一区 | 久久久久久久久久久久电影 | 手机在线看片日韩 | 麻豆md0077饥渴少妇 | 三级av在线播放 | www黄在线观看 | 亚洲视频六区 | 亚洲中字 | 国产成人精品一区二区在线小狼 | 免费的a级片| 国产毛片aaa| 三级网站 | 国产一二三视频 | 午夜免费影院 | 极品销魂美女一区二区三区 | 免费av日韩| 顶臀精品视频www | 亚洲一区中文字幕在线 | 中文字幕人妻伦伦 | 老司机午夜免费精品视频 | 体内精69xxxxxx| 伊人首页 | 亚州男人的天堂 | 在线亚洲网站 | 美女激情网站 | 亚洲精品资源在线 | 亚洲精品网站在线观看 | 亚洲天堂99 | 丁香花电影免费播放在线观看 | 亚洲深夜福利 | 欧美巨鞭大战丰满少妇 | 日韩av.com | 欧美一区亚洲二区 | 欧美精品性生活 | 色哟哟在线免费观看 | 久久99精品久久只有精品 | 一级全黄少妇性色生活片 | 欧美成人免费一级人片100 | 国产精品成人一区二区三区电影毛片 | 超污视频网站 | 销魂奶水汁系列小说 | 理论片毛片 | 麻豆影视 | 成人福利在线视频 | 91日韩在线| 91精品国产91久久久久久久久久久久 | 九九自拍视频 | 人与动物2免费观看完整版电影高清 | 国产亚洲制服欧洲高清一区 | 色涩网站 | 欧美亚洲大片 | 女人私密又肥又大 | 超清纯大学生白嫩啪啪 | 最新国产一区 | 日韩午夜激情视频 | 最新国产在线 | 五月婷婷在线观看视频 | 韩日精品中文字幕 | 日本伦理中文字幕 | 精品无码国产一区二区三区av | 新国产视频 | 精品国产一二三 | 国产免费无遮挡吸奶头视频 |