您的位置:首页 > 大数据 > 人工智能

TOJ 2609 Revamping Trails -- dp

2014-05-16 15:23 381 查看
题目:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=2609

分析:用dp[i][j]表示到结点i用了j次免费名额,那么dp[i][j] = min(dp[t][j - 1], dp[t][j] + cost[t][j]),其中(t, i)之间有边。一种做法就是像下面代码中的那样分k次调用dij,每次都固定k。另一种做法是只调用一次dij,在考察结点t时,考虑t的每一个邻接点i,考虑t与i之间用免费名额与不用两种情况,也就是说对于每一条边(t, i),当考察(t, i)时,可能向队列中加入两个元素。但是这题比较卡时间,用后面这种做法会TLE。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: