斜率DP
wineandchord
这个作者很懒,什么都没留下…
展开
-
HDU 3480 Division 斜率DP
Division HDU - 3480 令 TTT 表示一个整数的集合,MIN,MAXMIN,MAXMIN,MAX 分别是这个集合中最小和最大的数,定义这个集合的花费为 (MAX−MIN)2(MAX-MIN)^2(MAX−MIN)2。 先给定一个整数集合 SSS,希望找到 MMM 个 SSS 的子集 S1,S2,⋯SMS_1,S_2,\cdots S_MS1,S2,⋯SM,使得 S1∪S2∪...原创 2020-03-24 16:58:32 · 189 阅读 · 0 评论 -
UVA 12594 Naming Babies 斜率DP
Naming Babies UVA - 12594 给一个序列 PNPNPN,该序列是 a−za-za−z 的排列,再给一个序列 NM=C0C1⋯Cn−1‾NM=\overline{C_0C_1\cdots C_{n-1}}NM=C0C1⋯Cn−1,对于该序列的第 iii 个字符 CiC_iCi,定义 POSiPOS_iPOSi 为字符 CiC_iCi 在序列 PNPNPN 中的位置...原创 2020-03-24 16:13:25 · 134 阅读 · 0 评论 -
POJ 3709 K-Anonymous Sequence 斜率DP
K-Anonymous Sequence POJ - 3709 给一个不降的序列,以及一个数 kkk,对这个序列进行操作,允许对某些数减去一定的值,要求操作之后的序列的每种取值的个数至少为 kkk,定义花费为修改前后每个数的绝对值的和,求最小花费。 令 dp[i]dp[i]dp[i] 表示前 iii 个数的最小花费,则转移方程为: dp[i]=min{dp[j]+s[i]−s[j]−a[j+1]...原创 2020-03-24 11:03:13 · 143 阅读 · 0 评论 -
POJ 2018 Best Cow Fences 斜率优化/二分
Best Cow Fences POJ - 2018 有 N(1≤N≤100,000)N(1\le N\le 100,000)N(1≤N≤100,000) 块地,每块地有 n(1≤n≤2000)n(1\le n\le2000)n(1≤n≤2000) 头牛。 在这些地之间建两个篱笆,这两个篱笆中间包含的是连续的地,使得该篱笆内平均每块地的牛数最多,每两个篱笆中间至少有 F(1≤F≤N)F(1\le ...原创 2020-03-24 09:34:37 · 178 阅读 · 0 评论 -
POJ 1180 Batch Scheduling 斜率DP
Batch Scheduling POJ - 1180 总共有 NNN 个任务,编号为 1∼N1\sim N1∼N,将这 NNN 个任务分成任意多个 batch ,每个 batch 中包含连续编号的任务,按照 batch 中最小编号的顺序进行依次处理每一批,起始时刻是 000,每个 batch 的准备时间是 SSS,第 iii 个任务的处理时间为 T1T_1T1,系数为 FiF_iFi,同一个...原创 2020-03-24 07:49:14 · 134 阅读 · 0 评论 -
HDU 3045 Picnic Cows 斜率DP
Picnic Cows HDU - 3045 给一个序列 {a[i],i∈[1,n]}\{a[i],i\in[1,n]\}{a[i],i∈[1,n]} ,对这些数进行分组,每组至少 kkk 个,每组内每个数都会减少到组中最小的那个数,求整体最小能减少多少? 首先肯定要排序,从小到大排序。 令 s[i]s[i]s[i] 为前缀和,dp[i]dp[i]dp[i] 为前 iii 个数减少的最小值,状态转...原创 2020-03-13 07:45:03 · 86 阅读 · 0 评论 -
UVALive - 5097 Cross the Wall 斜率DP
Cross the Wall UVALive - 5097 NNN 个人,每个人有自己的宽高 wi,hiw_i,h_iwi,hi ,最多可以挖 KKK 个洞,并且不能重叠。挖一个宽高分别为 w,hw,hw,h 的洞需要花费 w×hw\times hw×h 元。当人的宽高 wi≤w,hi≤hw_i\le w,h_i\le hwi≤w,hi≤h 时,这个人才能通过这个洞。问至少要花费多少钱才能...原创 2020-03-12 20:13:17 · 138 阅读 · 0 评论 -
HDU 2993 MAX Average Problem 斜率DP+IO优化
HDU 2993 给一个序列 {a[i],i∈[1,n]}\{a[i],i\in[1,n]\}{a[i],i∈[1,n]},定义子区间均值为 avg(i,j)=s[j]−s[i−1]j−i+1avg(i,j)=\dfrac{s[j]-s[i-1]}{j-i+1}avg(i,j)=j−i+1s[j]−s[i−1](s[i]s[i]s[i] 为 a[i]a[i]a[i] 的前缀和),并且要求子区间的...原创 2020-03-12 14:03:01 · 179 阅读 · 0 评论 -
HDU 1300 Pearls 斜率DP 入门
HDU 1300 Pearls 给 ccc 个种类的珍珠,每个有需要的数量以及对应的价格,购买某种类时需要额外再加十个,可以通过购买高种类的来替代低种类的。 可以得到状态转移方程: dp[i]=min{dp[k]+p[i]×(s[i]−s[k]+10)},k∈[1,i−1] dp[i]=\min\{dp[k]+p[i]\times(s[i]-s[k]+10)\}, k\in [1,i-1] dp...原创 2020-03-12 10:29:49 · 167 阅读 · 0 评论