斜率优化
文章平均质量分 91
HT008_123
家人们点点关注叭
展开
-
[HDU 3507] Print Article
题目描述:给出N个数的权值,以及一个参数K. 每次取出一段数的花费为 sum[l-r]^2+k 求取出这些数的最小花费题目分析:O(N2)DPO(N^2) DP dp[i]=min(dp[j]+(sum[i]−sum[j])2)dp[i]=min(dp[j]+(sum[i]-sum[j])^2) O(N)斜率优化O(N) 斜率优化dp[j]+sum[i]^2-2*sum[i]*sum[j]原创 2018-02-26 14:45:46 · 302 阅读 · 0 评论 -
[Luogu P3515] [POI2011] Lightning Conductor
题目描述:已知一个长度为n的序列a1,a2,…,an。对于每个1<=i<=n,找到最小的非负整数p满足 对于任意的j, aj < = ai + p - sqrt(abs(i-j))题目分析:解法:决策单调性 + 分治 首先我们可以向两边枚举,分别取 Max 令 f[i]=max(1<= j < i)(a[j]+sqrt(i-j)) 因为根...原创 2018-02-26 15:47:16 · 186 阅读 · 0 评论 -
[BZOJ 3437] 小P的牧场
题目描述:雾。题目分析:只写DP方程吧. dp[j]+h[j+1]-(sum[i-1]-sum[j]) * (n-i) >dp[k]+h[k+1]-(sum[i-1]-sum[k])*(n-i) h[i]为 p[i]*(n-i)的后缀和 斜率优化. dp[j]+h[j+1]-(sum[i-1]-sum[j]) * (n-i)>dp[k]+h[k+1]-(sum[i-...原创 2018-02-26 16:55:35 · 160 阅读 · 0 评论 -
[HNOI2008]玩具装箱TOY
参考MashiroSky大佬的Blog题目描述:给定N个物品,可以连续的划分为若干个组,每个组的代价是(物品数-1+每个物品单独的代价-L)^2,求最小代价.题目分析:先写出DP方程:DP[i]=min(DP[j]+(sum[i]−sum[j]+i−j−1+L)2)(j<i)DP[i]=min(DP[j]+(sum[i]−sum[j]+i−j−1+L)2)(j&l...原创 2018-02-25 15:42:03 · 197 阅读 · 0 评论 -
[ZJOI 2007] 仓库建设
题目描述:雾。题目分析:先来搞朴素DP. DP[i] 表示 已经安排好了从1-i的仓库物品,并且在此地建一个仓库最小的花费 DP[i]=min(DP[j]+cal(i,j)+cost[i])DP[i]=min(DP[j]+cal(i,j)+cost[i])DP[i]=min(DP[j]+cal(i,j)+cost[i]) cal(i,j)表示从把[j,i-1]的物品运到 i 所需...原创 2018-02-25 19:41:33 · 256 阅读 · 0 评论 -
[APIO 2014] 序列分割
题目描述:给你一个序列,让你分割K次,每次分割可以获得分割点前后两个块和乘积的价值 求最大价值题目分析:首先分割次序对总价值没有影响。 f[k][i]表示前第k次分割点为i的所获得的最大分割价值. f[i][k]=f[j][k−1]+(sum[i]−sum[j])∗sum[j]f[i][k]=f[j][k−1]+(sum[i]−sum[j])∗sum[j]f[i][k]=f[j]...原创 2018-02-25 21:04:44 · 257 阅读 · 0 评论 -
[APIO 2010] 特别行动队
题目描述:雾。题目分析:f[i]=f[j]+a*(sum[i]-sum[j-1])^2+b*(sum[i]-sum[j-1])+c2*a*sum[i]*sum[j-1]+f[i]=f[j]+a*sum[j-1]^2-b*sum[j-1]+(a*sum[i]^2+b*sum[i]+c)题目链接:COGS 2129 BZOJ 1911 Luogu 3628Ac ...原创 2018-02-26 08:00:16 · 227 阅读 · 0 评论 -
[BZOJ 3156] 防御准备
题目描述:一条线上N个(检查)点,编号1~N,一个点j上可以建一个守卫塔花费为a[j],也可以选择放个木偶(为什么会是木偶= =),花费是这个点右边建的第一个守卫塔i到这个点的距离,即i-j。问最小花费。题目分析:先写出朴素DP: 倒着DP。 首先DP[i][0]为安排好 i+1-n 且在 i 放置 木偶的 最小花费. DP[i][1]为安排好 i+1-n 且在 i 放置 防御塔...原创 2018-02-26 09:16:36 · 177 阅读 · 0 评论 -
[SDOI2016]征途
题目描述:雾.题目分析:朴素DP O(M*N^2)60 dp[i][p]=min(dp[j][p−1]+(s[j]−s[i])∗(s[j]−s[i]))dp[i][p]=min(dp[j][p−1]+(s[j]−s[i])∗(s[j]−s[i]))dp[i][p]=min(dp[j][p-1]+(s[j]-s[i])*(s[j]-s[i])) 斜率优化 O(M*N)100 d...原创 2018-03-05 20:02:00 · 289 阅读 · 0 评论