摘要: 题目看似一个最短路问题,仔细分析一下会发现,问题可以转化为求区间最值问题。区间最值一直递增或者递减的话,可以直接用树状数组实现。询问可以分为两种情况:U>V 这是比较复杂的情况,然后路径只有一种:U->u->v->V,其中u>=U ,vv这些边都已经被处理了。处理U的时候,先把u=U的边用于更新[v,i]这段区间,因为所有在[v,i]内的V都可能受到u->v这条边的影响。边权为Sum[U]-Sum[v]+edge[u->v].cost。更新完成好,进行查询操作。单点查询V,区间[V,U]的最小值-(Sum[U]-Sum[V])就是答案。U#includ 阅读全文
posted @ 2013-08-04 17:10 phk52 阅读(339) 评论(0) 推荐(0) 编辑