上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 75 下一页
摘要: 【题目链接】 点击打开链接 【算法】 先预处理 : 将序列反转,求最长下降子序列 对于每个询问,根据字典序性质,贪心即可 【代码】 阅读全文
posted @ 2018-05-16 23:03 evenbao 阅读(153) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 f[i][j]表示以i为根的子树中,最少删多少条边可以组成j个节点的子树 树上背包,即可 【代码】 阅读全文
posted @ 2018-05-16 19:54 evenbao 阅读(126) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 f[i]表示深度小于等于i的严格n元树 显然,一棵深度小于等于i的严格n元树,就是一个根节点,下面有n棵子树,这n棵子树都是深度小于等于i-1的严格n元树,每棵子树有f[i-1]种形态,根据乘法原理, 可知f[i] = f[i-1] ^ n + 1 那么最后f[ 阅读全文
posted @ 2018-05-15 21:20 evenbao 阅读(174) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 树形DP ans = min{ | total - 2 * sum[k] | } (sum为以k为根的子树的权值和) 【代码】 阅读全文
posted @ 2018-05-15 21:09 evenbao 阅读(116) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 同样是树形DP,但是比较难,笔者做这题看了题解 令f[i][j]表示在以i为根的子树中 1.在以i为根的子树中建一些消防站 2.在节点j必须建一个消防站 3.以i为根的子树中,每个节点在满足距离不超过D的前提下,选一个子树内的节点或节点j作为“负责站” 4.节点 阅读全文
posted @ 2018-05-15 21:05 evenbao 阅读(161) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 树形DP 令f[i][0]表示 : 以i为根的子树中,若i不参加宴会,所能获得的最大愉悦值 f[i][1]表示 : 以i为根的子树中,若i参加宴会,所能获得的最大愉悦值 那么,如果i不参加宴会,它的下属就可以参加宴会,也可以不参加宴会,因此 : f[i][0] 阅读全文
posted @ 2018-05-15 20:44 evenbao 阅读(122) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 floyd求最小环 输出路径的方法如下,对于i到j的最短路,我们记pre[i][j]表示j的上一步 在进行松弛操作的时候更新pre即可 【代码】 阅读全文
posted @ 2018-05-13 23:04 evenbao 阅读(386) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 树形DP f[i][j]表示以i为根的子树中,选了j个叶子节点,所能带来的最大收益 不难发现这就是一个经典的背包问题,不过是在树上做背包罢了 最后,判断f[1][i]是否大于等于0,输出最大的i 【代码】 阅读全文
posted @ 2018-05-13 23:01 evenbao 阅读(135) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 这题描述有些繁琐,先简化一下题意 : 对于一棵无根树,删除一个节点,使得其余的联通块中,最大的联通块最小 那么,这题就很好做了 对这棵树进行一遍DFS,求出每个节点为根的子树的大小(记为size),再求出删除节点后,子树中最大的联通块的大小(记为mx) 那么,删 阅读全文
posted @ 2018-05-13 22:56 evenbao 阅读(93) 评论(0) 推荐(0)
摘要: 【题目链接】 点击打开链接 【算法】 我们知道,一棵树上离某个节点最远的节点,可能是经过它的祖先,再到那个祖先的某个孩子,或者,是它的那颗子树中,离它最远的一个节点,就不难想到以下算法 : 第一遍DFS,搜出每个节点的子树中离它距离最远的孩子的距离和所经过的儿子,离它次远的孩子的距离和所经过的儿子 阅读全文
posted @ 2018-05-13 22:47 evenbao 阅读(110) 评论(0) 推荐(0)
上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 75 下一页