time limit: 1 sec memory limit: 162 mb
submit: 11686 solved: 4946
[submit][status][discuss]
p教授要去看奧運,但是他捨不下他的玩具,於是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓
縮,其可以將任意物品變成一堆,再放到一種特殊的一維容器中。p教授有編號為1...n的n件玩具,第i件玩具經過
壓縮後變成一維長度為ci.為了方便整理,p教授要求在乙個一維容器中的玩具編號是連續的。同時如果乙個一維容
器中有多個玩具,那麼兩件玩具之間要加入乙個單位長度的填充物,形式地說如果將第i件玩具到第j個玩具放到一
個容器中,那麼容器的長度將為 x=j-i+sigma(ck) i<=k<=j 製作容器的費用與容器的長度有關,根據教授研究,
如果容器長度為x,其製作費用為(x-l)^2.其中l是乙個常量。p教授不關心容器的數目,他可以製作出任意長度的容
器,甚至超過l。但他希望費用最小.
第一行輸入兩個整數n,l.接下來n行輸入ci.1<=n<=50000,1<=l,ci<=10^7
輸出最小費用
5 434
2141
斜率優化入門題。
#include #include #include #include #define ll long long
#define eps 1e-6
using namespace std;
int l, x, y;
ll f[50005], sum[50005];
int q[50005];
ll g(int i)
ll t(int i)
ll fai(int i)
double t(int i, int j)
int main()
q[x = y = 1] = 1;
f[1] = (sum[1]-l)*(sum[1]-l);
for(i = 2; i <= n; i++){
q[++y] = i;
while(x+1
BZOJ1010 HNOI2008 玩具裝箱toy
先把程式放著,週末來更新 華麗的分割線 不想寫題解了。照著網上的題解推一邊即可 注意有的題解最後推倒出來明明是求上 下 凸包的形式,但配的圖卻是下 上 凸包的。不過斜率優化還不是搞的很懂。time limit 1 sec memory limit 162 mb submit 6661 solved ...
BZOJ 1010 HNOI2008 玩具裝箱
看到本題以後,分析了一下,發現是dp,然後看了下資料規模會超時。後來看了hzw的題解才發現是需要斜率優化的,方程是看懂了但是證明還是有點迷迷糊糊。最後,判斷函式是對著hzw的標程打的,剩下自己手擼掉了,程式並不長,但思想很秒。include include include include using...
BZOJ1007 HNOI2008 水平可見直線
description 在xoy直角座標平面上有n條直線l1,l2,ln,若在y值為正無窮大處往下看,能見到li的某個子線段,則稱li為 可見的,否則li為被覆蓋的.例如,對於直線 l1 y x l2 y x l3 y 0 則l1和l2是可見的,l3是被覆蓋的.給出n條直線,表示成y ax b的形式...