玩具裝箱 bzoj1010 斜率優化

2022-05-12 20:23:27 字數 576 閱讀 7355

斜率優化的題好像都是這樣的方程:左邊關於j,k的乙個(...)/(...)的式子,右邊是個只與i有關的可算的數字;

然後把它放到二維座標軸上,用單調佇列維護乙個凸殼,o(n)的複雜度;

這道題但是我發現我wrong了,找了程式看了一下,才發現斜率優化還有一點沒理解;才明白上午t2能a是由於資料太水,出題人萬歲!

1 #include2 #include3

using

namespace

std;

4#define ll long long

5const

int maxn=50500

;6 ll n,l,a[maxn],g[maxn],q[maxn],tail=0,head=1

,f[maxn];

7void

init()15}

16double

p(ll k,ll j)

19 ll squ(ll x)

20void

work()

30 cout

32int

main()

view code

BZOJ1010 玩具裝箱toy(斜率優化)

p教授要去看奧運,但是他捨不下他的玩具,於是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓縮,其可以將任意物品變成一堆,再放到一種特殊的一維容器中。p教授有編號為1.n的n件玩具,第i件玩具經過壓縮後變成一維長度為ci.為了方便整理,p教授要求在乙個一維容器中的玩具編號是連續的。同時如果乙個一...

BZOJ 1010 玩具裝箱toy (斜率優化)

題目大意 將n個數分成若干組,並且每組的數在原陣列中應是連續的,每組會產生的代價為sum i sum j i j 1 m,m為已知的常數。求最小代價。題目分析 定義dp i 表示將前 i 個元素分好組後產生的最小代價,狀態轉移方程很顯然了 dp i min dp j sum i sum j i j ...

BZOJ 1010 玩具裝箱

預處理字首和su mi j 1i ai,為區間求和作準備。這顯然是dp。設f i 表示前 i 件玩具花的最小費用。則有 邊界條件 f0 0 動態轉移方程 fi min fj i j 1 s umi sumj l 2 答案 fn 直接求解,時間複雜度為o n2 顯然會tle。考慮斜率優化。原來的方程太...