离散化
CaprYang
这个作者很懒,什么都没留下…
展开
-
Help Jimmy POJ - 1661 dp 离散化
题解他在到达平台左端点或者右端点之前都会保持一个状态不变化 所以只需要计算断点值 离散化端点值(我把左端点+1和右端点-1也离散化了更稳妥一些)d[i]表示到达i这个位置的最短时间 p[i]表示到达i这个位置的最低高度 平台按照高度排序 如果高度差不会摔死则从上向下转移d[左端点] = min(d[左端点], d[k] + h[i] - h[j] + k- 左端点) i为转移的平面 j为当前...原创 2018-10-14 23:11:41 · 621 阅读 · 0 评论 -
Making the Grade POJ - 3666 dp
题解题目大意 给n个数 为山路初始高度a[i] 要求将山路修改为一个非递减或非递增序列 且代价最小 修改代价每增加一个高度或减少一个高度代价为1将问题分解为两个 一个求非递减的最小代价 一个求非递增的最小代价 最后再取mind[i][j]表示第i个位置修的高度为j的最小代价 拿非递减举例 遍历i和jd[i][j] = d[i-1][k] + abs(a[i] - j); k为i从0到j中d...原创 2018-10-17 17:33:37 · 621 阅读 · 0 评论 -
程序员的背包 ZZULIOJ - 2485 离散化 dp lis | 树状数组
题解经典的最长上升子序列问题 因为数值过大使用二分进行优化AC代码#include <stdio.h>#include <bits/stdc++.h>using namespace std;typedef long long ll;const int INF = 0x3f3f3f3f;const int MAXN = 5e4 + 10;int a[MAX...原创 2018-12-23 18:09:02 · 441 阅读 · 0 评论