动态规划基础与建模.ppt

给定一个DAG,求从s到t的最长路 关键路径 设f[i]表示从s到i的最长路径 F[i]+dis[i][j]-f[j] 拓扑排序的过程中解决 关键路径 给定一个图,边有的是单向的,有的是双向的 有一个水晶球,每个点有一个价格 从s出发到t,沿途在某个点买入水晶球,在另一个点卖出 显然你要先买入才能卖出 最大化收益 最优贸易(NOIP2009T) 方法一: 同一个SCC里的点都可以走到,可以在其中任意一个买,任意一个卖 收缩SCC,记录SCC的最大值和最小值 F[i]表示到i的最大获利,g[i]表示到i的最小价格,minv[i]表示i所在SCC的最小价格,maxv[i]表示i所在SCC的最大价格 G[i]=min{g[j],minv[i]} F[i]=max{f[j],maxv[i]-g[i]} 边拓扑排序边做 最优贸易 方法二: F[i][0]表示到i点,没有水晶球的最大 F[i][1]表示到i点,有水晶球的最大 F[i][0]=max{f[j][0],f[j][1]+w[i]} f[i][1]=max{f[j][1],-w[i]} 前面说过:动态规划是状态图的最短路或最长路 嵌套在SPFA算法中,迭代求解 最优贸易 这类问题在NOIP中一般不会出现,但鉴于在NOIP的模拟题和WFTSC中出现了不止一次,稍微提一下 插头DP 棋盘DP 集合DP 状态压缩模型 把问题的状态压缩成

文档评论(0)

1亿VIP精品文档

相关文档