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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【POJ1821】Fence

發布時間:2024/10/12 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【POJ1821】Fence 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

單調隊列優化dp

我們將每個人的s值排序,這樣我們就能保證當前這個人刷的木板一定在上一個人之后,我們就能進行線型dp

定義f[i][j]表示前i個人刷前j個木板獲得的最多報仇,那么有

  • 第i個人不工作,此時f[i][j]=f[i-1][j]
  • 第j個木板空著,此時f[i][j]=f[i][j-1]
  • 第i個人刷[k+1,j]木板,由題意得k+1≤Si≤j并且j-k≤Li,于是存在狀態轉移方程
  • 在dp過程中,我們假定外層變量i為定值,當j增大時,不難發現k的取值范圍上界不變,下界變大。我們不妨比較一下兩個決策k1,k2,假設k1<k2≤Si-1

    因為k2的位置靠后,所以k1最更早的被排除,如果此時滿足

    說明k2不僅更優,而且它存活的時間更長,我們就可以將k1排除。

    因此,我們可以建立一個單調隊列,存儲決策允許集合并且保證決策點k單調遞增,數值f[i-1][k]-Pi*k單調遞減的序列。每次我們取出隊頭決策(最優)進行轉移即可。

    所以,我們就可以設計dp解決問題了

    1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 using namespace std; 6 typedef long long ll; 7 inline int read() { 8 int ret=0; 9 int op=1; 10 char c=getchar(); 11 while(c<'0'||c>'9') {if(c=='-') op=-1; c=getchar();} 12 while(c<='9'&&c>='0') ret=ret*10+c-'0',c=getchar(); 13 return ret*op; 14 } 15 struct node { 16 int l,s,p; 17 bool operator <(const node &x) const { 18 return s<x.s; 19 } 20 }a[110]; 21 int n,m,f[110][16010]; 22 int q[16010],l,r; 23 inline int calc(int i,int k) { 24 return f[i-1][k]-a[i].p*k; 25 } 26 int main() { 27 n=read(); m=read(); 28 for(int i=1;i<=m;i++) { 29 a[i].l=read(); 30 a[i].p=read(); 31 a[i].s=read(); 32 } 33 sort(a+1,a+m+1); 34 for(int i=1;i<=m;i++) { 35 l=1,r=0; 36 for(int k=max(0,a[i].s-a[i].l);k<=a[i].s-1;k++) { 37 while(l<=r&&calc(i,k)>=calc(i,q[r])) r--; 38 q[++r]=k; 39 } 40 for(int j=1;j<=n;j++) { 41 f[i][j]=max(f[i-1][j],f[i][j-1]); 42 if(j>=a[i].s) { 43 while(l<=r&&j-a[i].l>q[l]) l++; 44 if(l<=r) f[i][j]=max(f[i][j],calc(i,q[l])+j*a[i].p); 45 } 46 } 47 } 48 printf("%d\n",f[m][n]); 49 return 0; 50 } AC Code

    ?

    轉載于:https://www.cnblogs.com/shl-blog/p/10989144.html

    總結

    以上是生活随笔為你收集整理的【POJ1821】Fence的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 久久艳片www.17c.com | 欧美日本中文字幕 | 精品久久久久一区 | 天天干天天操 | 国产91久久精品一区二区 | 天天操妹子 | 欧美日韩不卡 | 91在线观看 | 欧美一区二区三区四区五区六区 | 污视频网站免费在线观看 | 国产一线二线三线女 | 成人一二三四区 | 警察高h荡肉呻吟男男 | 日本不卡一区二区三区在线观看 | 日韩亚洲欧美一区二区三区 | 神马久久午夜 | 撸大师av | 精品久久久久久久久久 | 在线观看欧美一区二区 | 欧美久久久久久久久久久久 | 黄网站色视频 | 免费看一级 | 欧美久久久久久久久久 | 欧美一区成人 | 国产亚洲系列 | 婷色| 国产性猛交xxxx免费看久久 | 99r在线视频 | 亲子乱对白乱都乱了 | 老牛影视少妇在线观看 | 久久久人妻无码一区二区 | 午夜久久| 国产 中文 字幕 日韩 在线 | 九色tv | 99re久久精品国产 | 天天爱天天射 | 黄色大片在线播放 | 加勒比精品在线 | 97人妻人人澡人人爽人人精品 | 欧美精品久久久久 | 少妇高潮一区二区三区99 | 国产女人18毛片18精品 | 青青草97国产精品免费观看 | 国产一级高清视频 | 水密桃av| 久久久av网站 | 亚洲视频一区在线 | 美女av在线免费观看 | 美国少妇在线观看免费 | 性xxxx欧美老肥妇牲乱 | 人人爱人人射 | 又白又嫩毛又多15p 超碰在线一区 | 久热最新| 免费观看在线播放 | 精品亚洲一区二区三区四区五区 | 美女福利视频导航 | 亚洲v国产v欧美v久久久久久 | 欧美一区二区人人喊爽 | 日本在线黄色 | 国产成人精品免费看视频 | 日本一级一片免费视频 | 亚洲视频导航 | 一区二区三区四区免费视频 | 亚洲经典一区二区三区 | 久久国产一区二区三区 | 先锋影音一区二区 | 动漫美女隐私无遮挡 | 香港三日本8a三级少妇三级99 | 亚洲一级片免费看 | 五月婷婷激情视频 | 欧美精品国产 | 精品久操| 激情文学综合网 | 欧美黑人孕妇孕交 | 极品新婚夜少妇真紧 | 美女下部无遮挡 | 羞羞的视频在线观看 | videos另类灌满极品另类 | 亚洲最色网站 | 在线免费视频你懂的 | 自拍偷拍国内 | 日韩久久成人 | 中文字幕在线亚洲 | av中文字幕一区 | 二级毛片在线观看 | 最近中文字幕在线 | 波多野结衣办公室33分钟 | 亚洲乱码国产乱码精品精剪 | www.久久伊人 | 日韩精品视频在线免费观看 | 羞羞软件| 亚洲精华国产精华精华液网站 | 国产91大片 | 精品国产乱码久久久久久鸭王1 | 人操人操| 国产精品12页 | 在线观看国产精品视频 | 日韩三区视频 | 午夜男人网 |