GSS1:给定一个序列,要求求出一个区间[l,r]中最大的子段和.维护一棵线段树,记录每个子区间的总和,从左边连续的最大和,右边连续的最大和,区间的最大子段和.查询的时候要注意转移细节.
COURIER:状态压缩的动态规划.f[S][Bx]表示人已经完成了S集合中的任务,当前在任务x的结束位置Bx时的mindist.f[S|(1<<y)][By]=min{f[S][Bx]+dist(Bx,Ay)+dist(Ay+By)} 最后扫描答案时注意还要回到源点
posted on 2011-05-29 14:08 treeboy 阅读(272) 评论(0) 编辑 收藏 引用
Powered by: C++博客 Copyright © treeboy