最最基礎的斜率優化(這麼基礎的斜率優化還wa這麼多發
顯然如果a[i]>=a[j]且b[i]>=b[j],j是沒有什麼卵用的,直接去掉,那麼如果將a降序排序,可以發現b一定是公升序的。從而顯然有方程,f[i]=min。那麼對於j=s(j,k)時k比j更優。那麼當s(i,j)>s(j,k),且i
p·s:然而我犯了sb錯誤,注意到上面a[j+1],顯然這個a是處理後的,即a[j]和a[j+1]都應該是符合要求的。而我一開始寫的時候只是保證了j是合法的。。。結果出資料死活出不出來,比如說: 2
7 10
9 2我原來的程式會輸出88
然而在裡面加一些會被捨去的解就會輸出90。。o(╯□╰)o。。這怎麼想得到啊。。。(果然還是萬能的對拍**)
看來還是要先把合法佇列求出來呢。。
ac**如下:
#include#include#include#include#define n 100005
#define ll long long
using namespace std;
int n,cnt,q[n]; ll f[n]; struct nodea[n];
bool cmp(node aa,node bb)
int main()
printf("%lld\n",f[cnt]);
return 0;
}
by lych
2016.1.9
bzoj1597 土地購買
description 地主想買一些長方形的土地,所有的土地可以分為若干組,每一組的土地的 為這一組裡的最長的長乘上最長的寬。土地的長和寬是不能交換的,例如一塊2 5的土地和一塊5 2的土地放在一起,為5 5 25。最少花費多少錢可以買下所有的土地。input 第一行乙個數n表示一共有n塊土地。接下...
BZOJ 1597 土地購買
傳送門 思路 顯然如果不對輸入資料加以處理,這道題就只能用 o 3n o 3 n 的動態規劃來做。由於購買土地的花費等於最大的長乘以最大的寬,我們可以發現,若一塊土地的長寬比另一塊土地的長寬都大,那麼另一塊土地是沒有用的。所以我們考慮刪去另一塊。顯然這是乙個偏序問題,我們把土地按長排序。要刪去長寬都...
bzoj1597 土地購買 斜率優化
農夫john準備擴大他的農場,他正在考慮n 1 n 50,000 塊長方形的土地.每塊土地的長寬滿足 1 寬 1,000,000 1 長 1,000,000 每塊土地的 是它的面積,但fj可以同時購買多快土地.這些土地的 是它們最大的長乘以它們最大的寬,但是土地的長寬不能交換.如果fj買一塊3x5的...