随笔分类 -  算法->DP->区间DP

摘要:题解 区间dp,先离散化所有价值 $f[i][j][k]$表示$[i,j]$区间里最小值为$k$的价值最大是多少 只考虑$i =k] + cost(k) + f[h + 1][j][ =k])$ 构造答案的时候通过记录每个点前一个转移点来递归即可 代码 cpp include define fi f 阅读全文
posted @ 2018-12-12 14:21 sigongzi 阅读(282) 评论(0) 推荐(0)
摘要:题解 只会蠢蠢的$n^3$……菜啊…… 我们发现最右的端点一定会选,看到的点一定是当前能看到的斜率最小的点变得更小一点,记录下这个点,在我们遇到一个看不到的点的时候,然后只用考虑R到它斜率最小的这个点,是被R看到,不放守卫,还是这个点放一个守卫 也就是$min(f[l][t] + f[t + 1][ 阅读全文
posted @ 2018-05-24 15:49 sigongzi 阅读(191) 评论(0) 推荐(0)
摘要:题解 神仙dp啊 include include include include include // define ivorysi define pb push_back define eps 1e 12 define space putchar(' ') define enter putchar 阅读全文
posted @ 2018-05-24 14:06 sigongzi 阅读(921) 评论(0) 推荐(2)