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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

luogu P2365 任务安排(FJOI2019 batch)

發布時間:2025/5/22 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 luogu P2365 任务安排(FJOI2019 batch) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

洛谷傳送門

FJOI 日常原題 $2333$(似乎還不如 SDOI2012 任務安排 $2333$)

顯然考慮 $dp$,這個是經典的把未來的代價先計算的 $dp$,然后才是斜率優化

一開始想狀態時一直有一個時間維,然后就沒法優化,考慮如何消掉這個時間維

可以發現,時間只和當前處理到的任務編號,和之前啟動機器的次數(分的段數)有關

然后就可以設 $f[i][j]$ 表示前 $i$ 個任務,分了 $j$ 段,然后就可以 $O(n^3)$ $dp$ 了(然鵝此時并不能斜率優化...)

考慮怎么優化,發現每次分的時候都要產生 $s$ 的時間,而這 $s$ 的時間不僅僅是加在 $j$ 到 $i$ 這一段

它是加在 $j$ 到 $n$ 的,所以考慮把到 $n$ 的代價也計算進去(把這一段的代價先提前計算)

這樣之后轉移的時候就不用考慮因為分段而多出來的時間了

設 $st[i]$ 表示前 $i$ 個任務的完成時間和,$sc[i]$ 表示前 $i$ 個任務的費用和

設 $f[i]$ 表示完成前 $i$ 個任務分了若干段的最小代價,那么可以得出 $dp$ 方程:

$f[i]=\sum_{j=1}^{i-1}min(\ f[j]+(sc[n]-sc[j])*S+st[i]*(sc[i]-sc[j])\ )$

然后復雜度是 $n^2$...

發現好像可以斜率優化了,把式子拆開:

$f[i]=f[j]+sc[n]*S-sc[j]*S+st[i]*sc[i]-st[i]*sc[j]$

$f[i]=f[j]-(st[i]+S)sc[j]+sc[n]S+st[i]sc[i]$

$(st[i]+S)sc[j]+f[i]-st[i]sc[i]+sc[n]S=f[j]$

那么 $k=st[i]+S,x=sc[j],b=f[i]-st[i]sc[i]+sc[n]S,y=f[j]$

因為 $k,x$ 單調,所以直接斜率優化...(SDOI那題好像因為 $t[i]$ 可以小于 $0$ 所以要上 $CDQ$ ?)

#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> using namespace std; typedef long long ll; typedef double db; inline int read() {int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9') { if(ch=='-') f=-1; ch=getchar(); }while(ch>='0'&&ch<='9') { x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); }return x*f; } const int N=2e6+7; int n,S; int st[N],sc[N]; ll f[N]; inline ll X(int i) { return sc[i]; } inline ll Y(int i) { return f[i]; } inline db slope(int i,int j) { return 1.0*(Y(i)-Y(j))/(X(i)-X(j)); } int Q[N],l=1,r=1; int main() {n=read(),S=read();for(int i=1;i<=n;i++) st[i]=st[i-1]+read(),sc[i]=sc[i-1]+read();for(int i=1;i<=n;i++){while( l<r && 1.0*(st[i]+S)>=slope(Q[l],Q[l+1]) ) l++;int j=Q[l];f[i]=f[j]+(sc[n]-sc[j])*S+st[i]*(sc[i]-sc[j]);while( l<r && slope(Q[r-1],i)<=slope(Q[r-1],Q[r]) ) r--;Q[++r]=i;}printf("%lld",f[n]);return 0; }

?

轉載于:https://www.cnblogs.com/LLTYYC/p/10743196.html

總結

以上是生活随笔為你收集整理的luogu P2365 任务安排(FJOI2019 batch)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: aaa影院 | 放荡闺蜜高h季红豆h | 亚洲免费视频一区 | 91直接进入 | 中国免费看的片 | 色哟哟国产精品色哟哟 | 片多多在线观看 | 国产午夜久久 | 欧洲精品码一区二区三区免费看 | 伊人久久成人 | 日本少妇吞精囗交 | 无码人妻精品一区二区三区99不卡 | 在线免费观看视频a | 亚洲欧洲在线视频 | 中文字幕9 | 少妇久久久久久久久久 | 性av网| 亚洲国产aⅴ成人精品无吗 日韩乱论 | 亚洲三级视频在线观看 | 97精品一区二区视频在线观看 | 天天撸天天操 | 亚洲一区和二区 | 日日噜噜噜噜人人爽亚洲精品 | 亚洲一区二区三区在线 | 成人免费高清 | 操你啦影院 | 超碰视屏 | 日韩大片一区二区 | 亚洲精品99| 日本天堂网在线观看 | 嫩草视频在线看 | 成人av免费在线看 | 国产三级理论片 | 国产精品三级久久久久久电影 | jizz日本女人 | 亚洲欧洲日本一区二区三区 | 欧美视频一区二区三区四区在线观看 | 综合视频在线观看 | 亚洲三级免费 | 偷拍亚洲另类 | 中文字幕专区 | 亚洲日本成人在线观看 | 一级黄色伦理片 | 999久久久国产精品 韩国精品一区二区 | 国产成人精品三级麻豆 | 污片视频在线观看 | 在线观看色网 | 久久久在线免费观看 | 裸体按摩www性xxxcom | 日日狠狠久久偷偷四色综合免费 | 国产精品色哟哟 | 午夜影院久久 | 三级色网站 | 成人污视频 | 免费污污视频在线观看 | 福利影院在线观看 | 中文字幕日韩欧美一区二区三区 | 亚洲精品在线电影 | 美女扒开腿让男人捅 | 国产亚洲欧美一区二区三区 | 三级毛毛片| 久久这里有精品 | 久久九九视频 | www.激情.com| 麻豆久久精品 | 免费看的黄色网 | 视色视频在线观看 | 99热这里只有精品久久 | 欧美久久久久久久久中文字幕 | 尤物在线| 欧美亚洲综合一区 | 日本a视频在线观看 | 国产中文一区 | 亚洲美女在线播放 | 91伊人网 | 岛国伊人| 麻豆自拍视频 | 国产精品99久久久久久久久久久久 | 久久夜夜操 | 午夜插插| 亚洲AV成人无码久久精品巨臀 | 国产一区二区三区日韩 | 99久久婷婷国产精品综合 | 国产成人精品久久 | 在线观看中文字幕视频 | 成人av网址在线观看 | 国产91在线观看丝袜 | 婷婷色在线播放 | 亚洲最新在线 | 欧美αv | 久久免费在线观看 | 欧美性猛交bbbbb精品 | 久久精品人人爽 | 国产素人在线观看 | 欧美xxxxx精品 | 色综合天天综合网国产成人网 | 国语对白自拍 | 五月婷婷视频在线 | 在线视频区 |