动态规划——斜率优化
quan_tum
这个作者很懒,什么都没留下…
展开
-
BZOJ1096仓库建设 and BZOJ3437小P的牧场 and BZOJ3156防御准备
这两道都是斜率优化的题目,完全一样的思路,双倍经验当然要收(就是读入坑了我好几次)。 设f[i]f[i]f[i]为在iii位置建设了仓库的最小代价,则有: f[i]=min(f[j]+x[i]∗∑il=j+1p[l]−∑il=j+1(x[l]×p[l]))+c[i](0≤j<i)f[i]=min(f[j]+x[i]∗∑l=j+1ip[l]−∑l=j+1i(x[l]×p[l]))+c[i]...原创 2018-08-26 17:48:44 · 135 阅读 · 0 评论 -
[USACO08MAR]Land Acquisition
每块土地的长和宽分别用数组lll和数组hhh表示。 每次买一组土地,需要的花费是 最大的长××\times最大的宽,所以如果存在土地iii和jjj,满足l[j]≥l[i]l[j]≥l[i]l[j]\ge l[i]且h[j]≥h[i]h[j]≥h[i]h[j]\ge h[i],土地iii就不会对答案产生影响。 因此,我们先将土地按长度从小到大排序,若长度相同按宽度从小到大排序。然后维护一个栈,将...原创 2018-08-26 18:22:33 · 179 阅读 · 0 评论 -
[Usaco2007 China]The Bovine Accordion and Banjo Orchestra 音乐会
设F[i][j]F[i][j]F[i][j]表示手风琴手匹配到第iii个,班卓琴手匹配到第jjj个的最大收益。 F[i][j]=F[k][l]+A[i]×B[j]−(s[i−1]−s[k])2−(S[j−1]−S[l])2F[i][j]=F[k][l]+A[i]×B[j]−(s[i−1]−s[k])2−(S[j−1]−S[l])2F[i][j]=F[k][l]+A[i]\times B[j]-(...原创 2018-08-27 10:12:23 · 242 阅读 · 0 评论 -
loj#10166数字游戏
一道比较简单的数位dp题,f[i][j]f[i][j]f[i][j]中iii表示数字的位数jjj表示之前数字在(modmo)(modmo)\pmod {mo}下的和 dfs中,ooo表示前几位是否都取了可取的最大值(如果是,那么当前位的最大只能取到当前为的数字,否则可以取到999)#include<bits/stdc++.h>#define ll long long#defi...原创 2018-08-27 21:23:28 · 270 阅读 · 1 评论