树
时间次元
这个作者很懒,什么都没留下…
展开
-
洛谷 #5022. 旅行
题意 从1出发,遍历一棵树,使dfs序最小 可能有n条边 题解 贪心,每次向最小的节点走 调试记录 被卡常。 #include <cstdio> #include <queue> #include <vector> #include <cstring> #include <algorithm> #define maxn 5005 usin...原创 2018-11-18 10:43:31 · 118 阅读 · 0 评论 -
POJ #3107. 教父
题意 求一棵树的多个重心并按照字典序输出 题解 求树的重心 调试记录 无 #include &lt;cstdio&gt; #include &lt;algorithm&gt; #define maxn 500005 #define INF 0x3f3f3f3f using namespace std; int first[maxn], next[maxn * 2]; int to[maxn ...原创 2018-12-05 15:25:15 · 138 阅读 · 0 评论 -
洛谷 #4208. 最小生成树计数
题意 求图中最小生成树的个数 题解 先求出最小生成树(Kruskal)统计不同长度边的数量,若无法构成生成树输出0 然后dfs遍历每一条边,两个端点连或不连,若最终边的数量与开始统计的相等,则这种长度边的取法+1 最后乘法原理得出ans 调试记录 puts(0)摆在那边,调了1h+/(ㄒoㄒ)/ puts(0)摆在那边,调了1h+/(ㄒoㄒ)/~~puts(0)摆在那边,调了...原创 2018-11-27 15:30:33 · 642 阅读 · 0 评论 -
洛谷 #1351. 联合权值
题意 一棵树上距离为2的两个节点的权值相乘,问max和sum 题解 70分:枚举每个节点,它的两个儿子必定距离为2,相加、取max即可(会T) 100分:注意到,一个节点的儿子中,互相都要乘 根据乘法分配律,我先预处理它儿子的权值和,每个节点x对联合权值的贡献为key[x] * (sum - key[x]) 这样可以把O(\(\ n3\))的时间复杂度降至O(\( n2\)) 调试记录 (70分代...原创 2018-12-04 16:29:22 · 139 阅读 · 0 评论