
树
璇玑你没有心
这个作者很懒,什么都没留下…
展开
-
P1265 公路修建(Prim最小生成树)
原题链接:公路修建 - 洛谷思路:其实就是最小生生成树。想想看,如果有2的情况,即三个点ABC,离A最近的点为B,离B最近的点为C,离C最近的点为A。那么把三条边设为a,b,c,即要满足a < c && b < a && c < b,这个式子是不可能成立的。除非这个图形是个正n边形,那么随便删去一条边,每条边的长度是一样的,所以其实就无所谓。因此就是一个求最小生成树的问题而已。注意一个地方!最后求的是double,那么可以先把平方和求出来.原创 2022-05-01 17:32:44 · 400 阅读 · 0 评论 -
D. Distance in Tree(cf)树状dp
原题链接:Problem - 161D - Codeforces题意:很简单,问你在树中有几对点之间的距离是k解法:树状dp,从叶子节点往父节点开始推。每个父节点它的不同的子树,每次加进来一个子树就乘一遍,然后更新值,下次再乘(我说不清楚..下次画个图)呜呜dp都好难AC代码:#include<bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3ftypedef pair<int, int> PII原创 2022-03-30 20:26:07 · 337 阅读 · 0 评论 -
D1. Mocha and Diana (Easy Version)
原题链接:Problem - 1559D1 - Codeforces树(森林)并查集新写法(简便写法get):int gf(int x,int *f){return f[x]==x?x:f[x]=gf(f[x],f);}for(int i=1;i<=n;i++)fa[i]=fa2[i]=i;for(int i=1,x,y;i<=m1;i++)cin>>x>>y,fa[gf(x,fa)]=gf(y,fa);#include<bits/std原创 2022-01-08 16:31:27 · 523 阅读 · 0 评论