首页 > Rinne Loves Edges
头像 _LRJ_
发表于 2020-04-07 15:56:54
首先我们可以注意到最后一行m=n-1,那么这个无向连通图就是一棵树了。那么再仔细的分析下,题目要求除了s之外度为1的点都不能到达s,那么除了s之外的度为1 的点就是叶子节点了,那么问题转化为了 如何删掉边权最短的一些边,从而使得s到不了任何一个(注意是任何一个)叶子节点。 思索了一下,这个题应该可以 展开全文
头像 shyyhs
发表于 2020-04-09 18:56:03
一个点连几条边就是度为几?所以度为1就是树最外边的那个点..还有题目并不要考虑删完后的情况.先插个图题目就是要让4 5 6 8 9这些点道不了1.让你删除一些边,使得删除的边权最小.那么怎么做呢..这个题目还是很简单的..设立dp[i]为底面的点都到不了i点的最小代价.那么dp[i]= min(vu 展开全文
头像 Kur1su
发表于 2020-03-31 14:58:26
Solution Code #pragma GCC optimize(3) #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long long LL; const int N = 1 展开全文
头像 19-hanhan
发表于 2020-05-05 08:34:53
题目 题目描述: Rinne  最近了解了如何快速维护可支持插入边删除边的图,并且高效的回答一下奇妙的询问。 她现在拿到了一个 n 个节点 m 条边的无向连通图,每条边有一个边权 wi。 现在她想玩一个游戏:选取一个 “重要点” S,然后选择性删除一些边,使得原图中所有除 S 之外度 展开全文
头像 LB_tq
发表于 2020-03-31 12:15:27
Solution 由题意可知给定的图是一棵树。树上的最优化问题可以想到树形 。 按照常用的状态设计方式,可以设 为根节点为 的最少代价。使以 为根的子树的叶子节点无法到达 的方式有两种: 割断与 直接相连的边 割断与 的子节点直接相连的边 两种方式取最小值即可。故状态转移方程为 其 展开全文
头像 wxyww
发表于 2020-04-02 23:05:33
solution 因为m=n,所以题目要求也就是要求断掉一些边,使得根与叶子节点不连通,用f[i]表示以i已经无法到达它子树中的所有叶子节点的最小花费。 转移的时候分两种情况,如果断开当前点与父亲相连的边,那么其子树中的边可以都不断开,花费为0.如果不断开当前点与父亲相连的边,那么答案就是其儿子的f 展开全文
头像 肖战公关团队
发表于 2020-04-05 20:01:29
Solution 这题目很坑,把重要的信息放在了最后面,即,而且还是一个无向连通图。。除了输入N还要输入M不知道意义何在 题目转换一下即要使原来的除了S以外的叶子节点全部都不能和S连通。 显然我们需要以点作为根节点,然后才好做。 令代表令节点的子树的叶子节点均到达不了节点。那么就有 当是叶子节点的时 展开全文
头像 WuliWuliiii
发表于 2020-04-01 20:00:08
树形DP首先,中文题,就不再阐述题意了。然后,具体怎么dp呢?首先不考虑树上,如果是一条序列上的话,肯定就是这条序列上的最小值了,现在其实实则变成了多条序列。我们动态规划的主要思想就是在于,是割下面的点的代价要小,还是割目前的边要更好些,所以用dp[u]记录,u结点为子树的根结点的时候,断开它到它的 展开全文
头像 精神病科黄主任
发表于 2020-03-31 17:56:19
思路:注意题中的M M=N-1 并且图联通 说明这是一棵树然后题意就是说 让重要点s 到不了其他度为1的点度为1的点 那不就是叶子节点嘛所以我们只要从点s开始dfs,计算出到叶子节点的路上的最短的边权加起来即可复杂度O(n)用dp[x]表示节点x到每个叶子节点的最小边权值那么dp[x]+=mi 展开全文
头像 我不会玩锐雯
发表于 2020-03-31 21:50:58
个人博客:在最前面发一下自己这个寒假刚弄的个人博客,很弱鸡,膜各位大佬。 在题干中划重点:个节点条边的无向连通图且,所以这是一颗树呐。 再划重点:原图中所有初之外度为1的点,弱弱的问萌新们,这是什么点???叶子节点呐。 理清题意:每条边有一个边权,希望删除一些边使得叶子节点都不能到达点。 明显的WA 展开全文