树上的动态规划 对于一棵子树内的守卫,也可以覆盖子树外的节点,需要加一维来记录子树与外界的关系。 g[u][j] 表示覆盖完子树并且还可以覆盖离子树根节点距离不大于j的点的最小花费 f[u][j] 表示子树内只保证距离子树根节点距离不小于j的节点被覆盖的最小花费 讨论树的子树对于树的关系来转移: u ...
分类:
其他好文 时间:
2020-02-14 14:39:12
阅读次数:
54
题目大意就是要从歹徒要从s点运送货物到t点,警察在一些城市拦截,在每一个城市拦截都有一定的花费,问最小花费是多少可以拦截住歹徒。 呐,在某些点设置障碍,使得整张图不能在联通,我们知道一个类似的问题:割断某些点使得图不能再联通——最小割问题,那么把这些点拆了,点权变为边权,不就是最小割问题了么,我们知 ...
分类:
其他好文 时间:
2020-02-12 22:14:52
阅读次数:
76
简单区间dp。 考虑 $f_{i,j,mn,mx}$表示 $i,j$ 区间的最大值为 $mx$,最小值为 $mn$ 的最小花费,$g_{i,j}$ 为删掉 $[i,j]$ 的最小花费。目标答案:$g_{1,n}$ 我们容易发现这个状态可以由区间 $[L,R 1]$ 和 $[R,R]$ 合并起来,即加 ...
分类:
其他好文 时间:
2020-02-06 01:36:02
阅读次数:
59
数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。 您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。 本题想 ...
分类:
其他好文 时间:
2020-02-02 17:34:15
阅读次数:
71
746 使用最小花费爬楼梯 数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost "i" 。 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。 您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初 ...
分类:
其他好文 时间:
2020-01-29 16:05:10
阅读次数:
76
题意: 一条线段上有n张骨牌(n=1e7), 相邻骨牌距离为1,每张骨牌有其高度和推倒的花费,问最少的花费推倒所有的骨牌。 题解: 首先用单调栈维护每个位置往左(右)推能推倒的最远的骨牌 dp[i]表示1-i倒下的最小花费 转移显然只有两种 一种是第i张往左推动 另一种是找到往右推动能推倒i的最小花 ...
分类:
其他好文 时间:
2020-01-26 16:02:35
阅读次数:
75
写在前面: 我好菜啊 伯努利数和自然数幂和的式子都能忘 A. 青蛙 标签: 贪心+二分 题解: 首先我们贪心的让尽量多的青蛙免费跳过去,可以二分求出 考虑剩下的青蛙如何让费用最小: 假如免费的青蛙非零,那么一定可以把中间的石头跳完 这种情况下其他每个青蛙的最小花费一定是一次 另一种情况是没有免费的青 ...
分类:
其他好文 时间:
2020-01-12 11:34:00
阅读次数:
79
★题目描述 有N位客户的汽车等待维修,现在M个维修员,每个维修员修理每台汽车的时间不同, 请安排每个维修员需要维修的车与维修顺序,使得所有客户总等待时间最少。 ★输入格式 输入的第一行两个数字M,N(1 using namespace std; int M,N; int T[20+5][20+5]; ...
分类:
编程语言 时间:
2019-12-29 00:39:15
阅读次数:
97
题目链接: 题意:给出n天,m个点,e条边,k是一个改变航线用的花费 然后给出e条边的信息,有u v w,分别为u到v的长度是w 然后给出T组输入 也是三个值,x,l,r表示x港口在l到r天都不能使用 每天都要从港口1运东西到港口m,问n天的最小花费(修改航道要花费k) solve: 设f[i]为i ...
分类:
其他好文 时间:
2019-12-11 00:40:59
阅读次数:
66
"题目链接" 一道DP问题 设dp[i][j]为当前状态下的最小花费,j=1代表Caps Lock打开,j=0代表Caps Lock关闭 ...
分类:
其他好文 时间:
2019-11-30 15:22:18
阅读次数:
89