2015年8月3日

poj2686-Traveling by Stagecoach(状压dp)

摘要: 题意:n张马票,m个城市,马票上有马数(决定速度),一张只能用一次,给出地图,求从城市a到b的最短时间。分析:n值很小状态压缩#include #include #include #include #include #include #include #include #include #inclu... 阅读全文

posted @ 2015-08-03 15:23 积跬步、至千里 阅读(233) 评论(0) 推荐(0) 编辑

POJ 3140-Contestants Division(树形dp)

摘要: 题意:n给节点的树,分成两个联通分支,使它们大小的绝对值最小,求这个最小值。分析:分成两个联通分支,即删除一条边,开始看到m(边数)和n(点数)没什么关系,但题目说的是一棵树,则m==n-1,求出所有的可能的差,取最小值即可#include #include #include #include #i... 阅读全文

posted @ 2015-08-03 15:02 积跬步、至千里 阅读(195) 评论(0) 推荐(0) 编辑

POJ 1655-Balancing Act(树形dp)

摘要: 题意:求n个节点的树中哪个节点删除以后得到的最大连通分量最小。分析:同上题#include #include #include #include #include #include #include #include #include #include #include #include #incl... 阅读全文

posted @ 2015-08-03 14:51 积跬步、至千里 阅读(156) 评论(0) 推荐(0) 编辑

POJ 2378-Tree Cutting(树形dp)

摘要: 题意:n个节点的树,删除一个点,得到的最大联通分支大小不大于总节点数的一半,求这样点的集合分析:和上题一样#include #include #include #include #include #include #include #include #include #include #includ... 阅读全文

posted @ 2015-08-03 14:46 积跬步、至千里 阅读(193) 评论(0) 推荐(0) 编辑

POJ 3107-Godfather(树形dp)

摘要: 题意:有n个节点的树,删除一个点,得到的最大联通分支最小,求这样点的集合分析:dp[i]表示删除i所得最大联通分支,遍历一遍节点即可,该题用vector会超时#include #include #include #include #include #include #include #include... 阅读全文

posted @ 2015-08-03 14:41 积跬步、至千里 阅读(254) 评论(0) 推荐(0) 编辑

HDU 3586-Information Disturbing(树形dp)

摘要: 题意:n个节点的通信连接树,切断每个边有一定的花费,要你切断边,在总花费不超过m的前提,使所有的其他节点都不能和节点1(根)连通,切边时有花费上限,让你最小化这个上限。分析:最小化最大值,想到二分,二分上限求符合条件的总花费和m比较。#include #include #include #inclu... 阅读全文

posted @ 2015-08-03 11:55 积跬步、至千里 阅读(173) 评论(0) 推荐(0) 编辑

HDU 4276-The Ghost Blows Light(树状背包)

摘要: 题意:n个房间,每个有一定的钱,一个房间到另一个房间花费一定的时间,给你房间连接树,求在t时间内到达房间m能得到的最大钱数(从房间1(根)出发)分析:该题关键是最后要到达m,没有这个条件,就是基础的树形背包,哎,一开始没思路,放了一段时间,看看题解才明白,该题突破口,就是,你先想怎么判断不能到到达m... 阅读全文

posted @ 2015-08-03 11:36 积跬步、至千里 阅读(123) 评论(0) 推荐(0) 编辑

POJ 3345-Bribing FIPA(树状背包)

摘要: 题意:有n个国家投票,要得到一个国家的投票有一定的花费,如果给到一个国家的票同时也得到了它所有附属国的票,给出国家关系树,求至少得到m票的最小花费。分析:基础树状背包,dp[i][j],以i为根的子树得j票的最小花费,该题输入有点恶心。#include #include #include #incl... 阅读全文

posted @ 2015-08-03 11:11 积跬步、至千里 阅读(125) 评论(0) 推荐(0) 编辑

POJ 2486-Apple Tree(树状背包)

摘要: 题意n个节点的树,每个节点都有价值,求在树上最多走k步获得的最大价值(从1开始走,节点的价值只能获取一次)分析:开始以为是最基础的树形背包,但后来发现,不能只走子树,有可能还回到根节点,dp[i][j][0]走子树后用回到根,dp[i][j][1],不用回到根#include #include #i... 阅读全文

posted @ 2015-08-03 10:48 积跬步、至千里 阅读(125) 评论(0) 推荐(0) 编辑

HDU 4003-Find Metal Mineral(树状背包)

摘要: 题意:n个节点的树给出每个边的权值,有k个机器人,求由机器人走完所有节点的最小花费(所有机器人开始在根节点)分析:仔细看了几遍例题后,发现这个题的状态很巧妙,先从整体考虑,一个机器人走完所有边回到根,是所有边权值和的2倍,对于k个机器人,有的就不用回根,dp[i][j],以i为根的子树,用机器人数j... 阅读全文

posted @ 2015-08-03 10:27 积跬步、至千里 阅读(162) 评论(0) 推荐(0) 编辑

HDU 1561-The more, The Better(树状背包)

摘要: 题意:n个城堡,每个有一定的财富,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡,求应攻克哪m个城堡,获得最大财富。分析:dp[i][j],以i为根的子树,攻克j个城堡,获得的最大财富,把0看做树的根节点#include #include #include #include #i... 阅读全文

posted @ 2015-08-03 09:59 积跬步、至千里 阅读(163) 评论(0) 推荐(0) 编辑

POJ 1947-Rebuilding Roads(树形背包)

摘要: 题意:一个树求得到一个节点数为p的子树,最小需要删除的边数。分析:父节点到儿子这条边,删或不删,背包问题。#include #include #include #include #include #include #include #include #include #include #includ... 阅读全文

posted @ 2015-08-03 09:37 积跬步、至千里 阅读(137) 评论(0) 推荐(0) 编辑

HDU 1011-Starship Troopers(树形背包)

摘要: 题意:有n个洞,连接像一棵树,每个包含一定数量的怪和价值,给你m个士兵,每个士兵能打20个怪,杀完一个洞的怪可得该洞的价值才可继续打相连的下面的洞(每个士兵只能打一个洞),求获得的最大价值。分析:把士兵数看做容量,就是背包问题,dp[i][j]以i为根节点子树士兵数j时获得的最大价值(根节点有一定的... 阅读全文

posted @ 2015-08-03 09:25 积跬步、至千里 阅读(123) 评论(0) 推荐(0) 编辑

POJ 1155-TELE(树形背包)

摘要: 题意:电视台发送信号给很多用户,每个用户(叶子节点)有愿意出的钱,电视台经过的路线都有一定费用,求电视台不损失的情况下最多给多少用户发送信号。分析:问题与以i为根节点的子树所包含的叶子数#include #include #include #include #include #include #in... 阅读全文

posted @ 2015-08-03 09:05 积跬步、至千里 阅读(253) 评论(0) 推荐(0) 编辑

CodeForces 219D-Choosing Capital for Treeland(树形dp)

摘要: 题意:给你一个有向树,求以每个节点为根,可到达其他任何一个节点需要反向的边数。分析:数据规模大,若一个节点一个节点的算,必超时,有了上一道题的积累,这个题的状态就好想了,当前节点需要的翻边的数量,由子树得的加上由父节点过来的数量。两次dfs#include #include #include #in... 阅读全文

posted @ 2015-08-03 07:45 积跬步、至千里 阅读(164) 评论(0) 推荐(0) 编辑

导航