1. 程式人生 > >[BZOJ1010][HNOI2008]玩具裝箱toy 斜率優化第一題

[BZOJ1010][HNOI2008]玩具裝箱toy 斜率優化第一題

很明顯我們得到樸素的轉移方程dp[i]=min{dp[j]+(ij1+sum[i]sum[j]L)2,dp[i]}(0j<i)
時間複雜度為O(N2)
我們定義f[i]=sum[i]+i,C=L+1,那麼上式轉變成dp[i]=min{dp[j]+(f[i]f[j]C)2,dp[i]}(0j<i)
然後我們來證明決策的單調性
假設在i處有兩個決策點j,k(j<k),且k的決策比j
即要證明

dp[j]+(f[i]f[j]C)2>dp[k]+(f[i]f[k]C)2[1]
itf[t]=f[i]+v(t>i
)

我們想知道i對於後面狀態t的影響,那麼要證明
dp[j]+(f[t]f[j]C)2dp[j]+(f[i]+vf[j]C)2dp[j]+(f[i]f[j]C)2+2v(f[i]f[j]C)+v2>>>dp[k]+(f[t]f[k]C)2dp[k]+(f[i]+vf[k]C)2dp[k]+(f[i]f[k]C)2+2v(f[i]f[k]C)+v2
[1]我們得到
(f[i]f[j]C)f[k]>>(f[i]f[k]C)f[j]
顯然f[i]單調遞增且k>j,那麼假設[1]成立
dp[j]+(f[i
]f[j]C

相關推薦

[BZOJ1010][HNOI2008]玩具裝箱toy 斜率優化第一

很明顯我們得到樸素的轉移方程dp[i]=min{dp[j]+(i−j−1+sum[i]−sum[j]−L)2,dp[i]}(0≤j<i) 時間複雜度為O(N2) 我們定義f[i]=sum[i]

[BZOJ1010][HNOI2008]玩具裝箱toy[斜率優化+決策單調性 三種寫法]

\[ f\left[ i \right] =\min \left\{ f\left[ j \right] +\left( i-j-1+pre\left[ i \right] -pre\left[ j \right] -l \right) ^2 \right\} \\ \text{令}g\left( i \ri

[bzoj1010][HNOI2008]玩具裝箱toy_斜率優化dp

type iostream main 就是 stream color 計算 希望 soft 玩具裝箱toy bzoj-1010 HNOI-2008     題目大意:P教授要去看奧運,但是他舍不下他的玩具,於是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓縮,其可以

bzoj 1010 [HNOI2008]玩具裝箱toy (斜率優化DP)

() etc amp 斜率 sin 維護 lld inline pre 隊列維護下凸包裸題 式子不太好推,但其實不用把式子全展開的..... k單調遞增,x單調遞增,隊列維護一下就行了 因為f[i]期望最小值,所以維護下凸包 好像記錄一下凸包的坐標能減少常數 1 #in

BZOJ 1010 [HNOI2008]玩具裝箱toy 斜率優化dp

inf sign http mes while bsp 情況 ++ can [HNOI2008]玩具裝箱toy 斜率優化dp: 好久沒有寫斜率優化dp都忘記了這個東西到底是怎麽回事。 對於斜率優化dp來說, 我們可以將一個 轉移方程轉換成 y = k x + b.

BZOJ1010: [HNOI2008]玩具裝箱toy

tdi log algorithm cep noi2008 ble 要去 單位 desc Description   P教授要去看奧運,但是他舍不下他的玩具,於是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓縮,其可以將任意物品變成一堆,再放到一種特殊的一維容器中。

bzoj1010[HNOI2008]玩具裝箱toy

con blank str 要去 scan efi 般的 希望 div 傳送門 Description   P教授要去看奧運,但是他舍不下他的玩具,於是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓縮,其可以將任意物品變成一堆,再放到一種特殊的一維容器中。P教授有編

bzoj1010 [HNOI2008]玩具裝箱toy

輸入 tdi const noi2008 alt 最優 for time http #[HNOI2008]玩具裝箱toy ####Time Limit: 1 Sec Memory Limit: 162 MB ###Description   P教授要去看奧運,但是他舍不下

[BZOJ1010][HNOI2008]玩具裝箱toy

計算 odi 優化 bre code 註意 std -c tdi 斜率優化DP首題,多寫一點吧。 Step 1 寫出DP方程 設\(f_i\)為\(i\)點時的最優方案,\(s_i\)為\(i\)點\(C_i\)前綴和,則有\(f_i = min\{f_j+(i-j-1+s

bzoj1010-[HNOI2008]玩具裝箱toy

斜率優化. 發現 \[ dp[i] = min(dp[j]+(i−j−1+sum[i]−sum[j]−L)^2 (j<i)\] 即 \[ dp[i] = min( -2*(sum[i]+i-l-1)*(sum[j]+j)+dp[j]+(sum[j]+j)^2 ) +(sum[i]+i-l-1)^2 \

玩具裝箱TOY[斜率優化]

傳送門 第一次自己推斜率優化,好高興 對於區間的長度,s[i]表示字首和在加上i 也就是 首先,考慮暴力的DP  拆開 整理成如下形式   也就是 最小值維護下凸包 #include<bits/stdc++

題解【bzoj1010 [HNOI2008]玩具裝箱TOY

斜率優化動態規劃可以用來解決這道題。同時這也是一道經典的斜率優化基礎題。 分析:明顯是動態規劃。令\(dp[i]\)為前\(i\)個裝箱的最小花費。 轉移方程如下: \[dp[i]=\min\limits_{0 \leq j < i} \{ dp[j]+( \sum \limits_{k = j +

BZOJ1010 ||洛谷P3195 [HNOI2008]玩具裝箱TOY斜率優化DP】

Time Limit: 1 Sec Memory Limit: 162 MB Description P教授要去看奧運,但是他舍不下他的玩具,於是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓

BZOJ-1010-[HNOI2008]玩具裝箱toy斜率優化

-s 要去 sca sigma open closed splay 填充物 hide Description   P教授要去看奧運,但是他舍不下他的玩具,於是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓縮,其可以將任意物品變成一堆,再放到一種特殊的一維容器中。P教

1010: [HNOI2008]玩具裝箱toy斜率優化

教授 最小 sta 長度 輸入 常量 limit ... col 1010: [HNOI2008]玩具裝箱toy Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 12280 Solved: 5277[Submit][St

1010. [HNOI2008]玩具裝箱TOY斜率優化DP】

ont 位長 str 北京 clas 斜率 out hellip hnoi Description   P教授要去看奧運,但是他舍不下他的玩具,於是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓 縮,其可以將任意物品變成一堆,再放到一種特殊的一維容器中。P教授

斜率優化實現初步(1) [BZOJ][1010][HNOI2008]玩具裝箱toy

name spa \n get pre 斜率 pri ace mes #include<bits/stdc++.h> using namespace std; #define int long long const int MAXN=5e4+233

2018.11.02【HNOI2008】【BZOJ1010】【洛谷P3195】玩具裝箱斜率優化DP)

洛谷傳送門 解析: 看到平方項多半就是兩種套路,決策單調性和斜率優化,這道題斜率優化可以O(n)O(n)O(n)。 首先還是推DP式子,這個很好想(sumsumsum表示字首和)。fi=min⁡j=

洛谷3195 [HNOI2008]玩具裝箱TOY斜率優化+dp)

qwq斜率優化好題 第一步還是考慮最樸素的 d p dp

[HNOI2008]玩具裝箱TOY斜率優化

題目連結 題意:有編號為 1 ⋯ N 1