- 博客(4)
- 收藏
- 关注
原创 TYVJ1061 Mobile Service - DP - 滚动数组
考虑花费和员工的位置,请求的位置都有关,可以设状态f(i,x,y,z)表示完成了前i个请求,三个员工现在位于x,y,z三处的最小花费,由i可以方便地推到i+1 (DP既可以由i-1推到i,也可以是i推到i+1,灵活应用才能写好方程)状态转移方程是: f(i+1,x,y,z)=min(f(i+1,qi+1,y,z),f(i,x,y,z)+c(x,qi+1))f(i+1,x,y,z)=min(...
2018-03-28 21:28:34 290
原创 TYVJ1305 最大子序和 - 单调队列
题目地址:http://www.joyoi.cn/problem/tyvj-1305单调(队列/栈)是一种有着DP思想的数据结构,它维护一个满足特殊单调性的序列,这种单调性保证每个元素在全局上都有成为最优答案的可能,而不满足这种单调性的元素在之后的统计中一定不会对答案产生任何贡献,需要及时删除。对于这题,我们首先把寻找子段转化为前缀和之差最大。然后固定住右端点,不断枚举左端点,使区间内的元...
2018-03-17 15:10:56 552
原创 POJ3185 The water bowls - 模拟
假设一个方块是1, 为了使其变为0而不使已经变白的序列受到影响,只能反转其后面的方块 所以这个序列的第一个数是1还是0就决定了整个序列的反转,但是从左边开始翻和从右边开始翻是不一样的(感觉是这样就行,不需要证明),所以我们要扫两遍这个序列#include <algorithm>#include <iostream>#include <cstdio>u...
2018-03-17 10:04:53 203
原创 BZOJ2763 飞行路线 - 分层图 - 最短路
我们把原图复制出k层,而题中给的k次免费机会,就是连接不同层次图的道路,并且遍权为0。 使用免费机票的时候,就跳到上面那一层,并且没有任何花费。 这样求一遍最短路就可以得到使用免费机票次数小于等于k的最短路 也可以从dp的角度理解: dp[v][i] = min(dp[v][i], dp[u][i] + c) 同层图转移 dp[v][i+1] = min(dp[u][i], dp[v]...
2018-03-14 19:23:58 398 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人