随笔分类 -  树DP

摘要:我是不知道我当时咋想的。。。 不知道自己在想啥, 题解: 直接DFS找连通块的数量 N 然后答案是N-1 #include <bits/stdc++.h> using namespace std; int n,x[101],y[101],vis[101]; void dfs(int i) { vis 阅读全文
posted @ 2020-09-20 10:54 摸鱼选手LLF 阅读(111) 评论(0) 推荐(0)
摘要:题解: 显然 我们在越高的地方增加越好,然后注意这个最大值不能经过这里, 一次dfs找最大值, 一次dfs处理每个点的min 然后最后一次dfs计算答案 依次往下找就行了 #include<bits/stdc++.h> #define rep(i,a,n) for(int i=a;i<=n;++i) 阅读全文
posted @ 2020-09-15 12:00 摸鱼选手LLF 阅读(141) 评论(0) 推荐(0)
摘要:题意 给一棵树,1是根; 然后树上有M个资源站,现在要求你断开一些边,让根连不到所有的资源站, 考虑显然o(n)的树DP 但是有M次询问 复杂度nm 然后我们发现ki的加和比较小 然后建立虚树,每次只处理ki个点就行了 然后虚树怎么建立,我们发现只需要包含这ki个点,和他们的lca就可以了; 以下内 阅读全文
posted @ 2020-09-15 10:23 摸鱼选手LLF 阅读(192) 评论(0) 推荐(0)
摘要:链接 :http://codeforces.com/contest/1388/problem/C 题意: 有若干个人,树根为1,从根开始往下走,心情可能会变坏,坏心情不可能变好, 每个城市有个happyness值,问你这个图成不成立, 题解 :dfs树一下,因为dfs树是从下向上回溯,所以反过来,考 阅读全文
posted @ 2020-08-05 21:47 摸鱼选手LLF 阅读(200) 评论(0) 推荐(0)