摘要:
题目意思:(13年长沙站的一道水DP,本人也去了,当时太水笔) 说俩个人竞争选票,每个人可以随机选择支持谁。每个人带有权重不同。 现在已经结束了投票阶段,你一个骇客 支持LIKE 你写了一个软件可以 用LIKE 的 X点能量翻转某个个节点,这个节点的儿子也一样跟着翻转(转自他的就是他的儿子,孙子也一 阅读全文
摘要:
题目意思:给一棵树,找到俩个不相交的通路,使得这俩个通路的长度和乘机最大; 解法: 小哥一看呵呵 这不就是枚举点 然后求俩边的树的直径在相乘求个最大值的题么! 呵呵 这个N 有100000 当时就不玩了; 学长指导了下我; 俺会了!/灯泡 在枚举点在书的直径上时点的左右的最长的链无非这几种情况如图( 阅读全文
摘要:
题目意思: 一棵树,找到最少的点能覆盖到所有的边,(也就是每条边俩端 至少有一个在你找到的集合); 解法:每条边只能被俩个点中的一个,或全部覆盖所以我们有树形DP来解: DP[num][flag]//代表在子树NUM全部被覆盖的情况下,flag=1,这个店也被覆盖:flag=false 这个店没被覆 阅读全文
摘要:
题目意思:一个N 个节点的苹果树,每个节点有一定数目的苹果;问从1 出发走K步 所能迟到的苹果(每一步只可以到相邻的节点) 解法: 走法包含以下基本的情况(其他的走法都可以由以下的组合出来): 1:在树上头也不回的往前; 2:回到走过的节点再去别的节点: 所以对于每个节点有一个 flag 走了没回来 阅读全文
摘要:
题目意思:有N 个节点形成树状结构,现在想知道。给定一个数字P,问:删除最少的边使得形成的子树的节点有P 个; 很明显的树形DP[i][j] I为根子树形成j个节点最少减多少; 依赖性01问题,只不过这个合并时候的输的初始化不好想; 给出代码加注释;#include <cstdio> 阅读全文
摘要:
题目意思: 电视台发送信号给很多用户,每个用户愿意出一些钱,电视台经过的路线都有一定费用,求电视台不损失的情况下最多给多少用户发送信号。多么明显的有依赖性的01背包: dp[i][j]对于借点I 背包容量J ; #include #include #include #include #include using namespace std; const int maxn=3004;... 阅读全文
摘要:
找到一个size=M 权值最大的子树; 多么明显 有依赖性的 01背包!这个依赖点是0 直接上代码: 阅读全文
摘要:
题意:n各节点其中1号是司令节点,叶子节点是收集信息的节点.现在破坏一些编使这个信息结构瘫痪(就是 让叶子节点和1号节点不连通); 要求他切割的边的最大值最小,且和不能超过M 解法:很普通的的二分答案,用树形DP判断这个解是否可行。 子啊 回溯合并的时候 如果这个边的cost>枚举的答案 肯定dp 阅读全文
摘要:
算是我的第一个树形DP 的题: 题目意思:N个城市形成树状结构。现在建立一些消防站在某些城市;每个城市有两个树形cost(在这个城市建立消防站的花费),limit ; 我们要是每个城镇都是安全的:就是每个距离这个城镇最近的消防站不能超过这个城镇的limit值; 解法:这个题目乍一看卧槽怎么玩!玩不了 阅读全文