摘要: /* 双向DP 两条路 f[i][j] 表示第一条路末位置为i 第二条路末位置为j 的最优解 转移:对于下一个点 k=max(i,j)+1 可以更新 路1的末位置 也可以更新路2的末位置 f[i][k]=min(f[i][k],f[i][j]+dis[j][k])路2 f[k][j]=min(f[k][j],f[i][j]+dis[i][k])路1 最后 点n 可能属于路1 也可能属于路2... 阅读全文
posted @ 2016-04-20 15:32 一入OI深似海 阅读(191) 评论(0) 推荐(0) 编辑
摘要: /* 假设当前有a个A b个B c个C 用 f[a][b][c]来表示 那么如果这个串以A结尾 那就是 f[a-1][b][c]转移来的 所以构成 f[a][b][c]的串一定有一部分是 f[a-1][b][c] 同理 B C 所以: f[a][b][c] = f[a-1][b][c]+f[a][b-1][c]+f[a][b][c-1] 至于题目里那个什么前缀什么规则 既然f[1][1][... 阅读全文
posted @ 2016-04-20 15:31 一入OI深似海 阅读(227) 评论(0) 推荐(0) 编辑