摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1044题目大意:在一个迷宫中,从起点走到终点,还有几个宝物,问在给定的时间内,到达终点后所能获取的最大价值。思路:先用bfs求出入口,宝物,出口,两两之间的最短距离。在用dfs搜索所有情况,求出从入口走到出口能获得的最大价值。熟悉两种搜索的优缺点:BFS:对于解决最短或最少问题特别有效,而且寻找深度小,但缺点是内存耗费量大(需要开大量的数组单元用来存储状态)。DFS:对于解决遍历和求所有问题有效,对于问题搜索深度小的时候处理速度迅速,然而在深度很大的情况下效率不高code:View Code 1.. 阅读全文
posted @ 2012-04-27 12:07 奋斗青春 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1155好长时间没写过树形DP了,突然间想写道题,就在网上随便搜了一题。题目大意:要转播一场球赛,根节点和所有中转节点都有一个信号塔可以传播信号,所有的叶子节点表示用户。每条边都有一个权值,表示传播过来需要的花费。当能传到用户的时候,用户会付一定的费用,问在不亏本的情况下,最多能让几个用户观看到这场球赛。思路:用一个DP[u][j]表示以u为根的子树,满足j个用户的时候最多能盈利多少。那最后找一个最大的j满足DP[1][j]>=0 就是所求。状态转移:如果v为u的一个孩子节点。那么DP[u][i]=Max(DP[u][i] , 阅读全文
posted @ 2012-04-27 10:56 奋斗青春 阅读(1022) 评论(0) 推荐(0) 编辑