
最小生成树
文章平均质量分 69
everlasting__
'-'
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
bzoj 1232: [Usaco2008Nov]安慰奶牛cheer
→题目链接← 读题就可以看出肯定用最小生成树 只按照边权找到最小生成树后,计算最后的时间是 Σ边权*2+Σ点权*出度+我们要选的过夜的点的权值 然后发现,如果只按照边权找最小生成树是不正确的 因为我们正常跑kruskal的时候每次会将边权*2+两边点的点权加进答案 所以我们可以在排序前把每条边两边点的点权都加进这个边权之中,并且把原边权*2 这样再跑kruskal就每原创 2017-10-04 23:02:24 · 292 阅读 · 0 评论 -
bzoj 3943: [Usaco2015 Feb]SuperBull
→题目链接← 又是一道水题,又是一道翻译及其坑人的题 翻译里每个数是1~230...原文是1~2^30 太差劲了 暴力建边然后跑最大生成树 代码: #include #include #include #include #define ll long long using namespace std; struct node{ int s,t,le原创 2017-09-07 20:30:20 · 241 阅读 · 0 评论 -
bzoj 3390: [Usaco2004 Dec]Bad Cowtractors牛的报复
→题目链接← 裸的最大生成树 写了两种算法,算是模板吧 kruskal: #include #include #include #include #include #define ll long long using namespace std; struct node{ int s,t,len; friend bool operator < (node a,原创 2017-09-06 15:45:42 · 288 阅读 · 0 评论 -
bzoj 3479: [Usaco2014 Mar]Watering the Fields 最小生成树
→题目链接← 裸的最小生成树...只会prim算法 n^2暴力建边 然后跑最小生成树 学了这么长的时间终于第一次写最小生成树 真棒啊 代码: #include #include #include #include #include using namespace std; struct node{ int s,t; int len; node(int x,i原创 2017-09-02 18:00:34 · 332 阅读 · 0 评论