time limit: 10 sec memory limit: 512 mb
submit: 2811 solved: 1178
[submit][status][discuss]
第一行為乙個整數n表示戰線的總長度。
第二行n個整數,第i個整數表示在位置i放置守衛塔的花費ai。
共乙個整數,表示最小的戰線花費值。
102 3 1 5 4 5 6 3 1 2
181<=n<=10^6,1<=ai<=10^9
katharon+#1
將a[i]反過來,因為最後乙個檢查點一定要放置守衛塔,反過來就變成第乙個放置守衛塔
斜率優化,少寫個ll wa了半天
f[i]=min
\[\frac-k^+j-k}
1 #include2 #include3using
namespace
std;45
#define ll long long
6const
int maxn=1000005;7
8int
n,l,r;
9int
a[maxn],q[maxn];
10 ll ans=(1ll<<60
),f[maxn],s[maxn];
1112
double
slope(ll k,ll j)
1316
17int
main()
1835 printf("
%lld
",ans);
36return0;
37 }
3156 防禦準備
題目鏈結 題目大意 一條線上n個 檢查 點,編號1 n,乙個點j上可以建乙個守衛塔花費為a j 也可以選擇放個木偶 為什麼會是木偶 花費是這個點右邊建的第乙個守衛塔i到這個點的距離,即i j。問最小花費 題解 斜率優化,隨便推推式子 我的收穫 233333 include using namespa...
bzoj 3156 防禦準備
第一行為乙個整數n表示戰線的總長度。第二行n個整數,第i個整數表示在位置i放置守衛塔的花費ai。共乙個整數,表示最小的戰線花費值。10 2 3 1 5 4 5 6 3 1 2 181 n 10 6,1 ai 10 9 暴力就不多說了 include include include include i...
BZOJ 3156 防禦準備
1 n放城堡 木偶,在第i位放城堡的 cost i 給出,放木偶的 cost i j i j為i右邊第乙個城堡 問最小花費普通 theta dp會掛 n leq 100000 需要斜率優化,為了方便,我們從左往右dp f i 為在這個點放城堡的最小花費 因為第n個必須放城堡 f i min j i ...