最小生成树
everlasting__
'-'
展开
-
bzoj 1232: [Usaco2008Nov]安慰奶牛cheer
→题目链接←读题就可以看出肯定用最小生成树只按照边权找到最小生成树后,计算最后的时间是Σ边权*2+Σ点权*出度+我们要选的过夜的点的权值然后发现,如果只按照边权找最小生成树是不正确的因为我们正常跑kruskal的时候每次会将边权*2+两边点的点权加进答案所以我们可以在排序前把每条边两边点的点权都加进这个边权之中,并且把原边权*2这样再跑kruskal就每原创 2017-10-04 23:02:24 · 227 阅读 · 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 · 197 阅读 · 0 评论 -
bzoj 3390: [Usaco2004 Dec]Bad Cowtractors牛的报复
→题目链接←裸的最大生成树写了两种算法,算是模板吧kruskal:#include#include#include#include#include#define ll long longusing namespace std;struct node{ int s,t,len; friend bool operator < (node a,原创 2017-09-06 15:45:42 · 234 阅读 · 0 评论 -
bzoj 3479: [Usaco2014 Mar]Watering the Fields 最小生成树
→题目链接←裸的最小生成树...只会prim算法n^2暴力建边然后跑最小生成树学了这么长的时间终于第一次写最小生成树真棒啊代码:#include#include#include#include#includeusing namespace std;struct node{ int s,t; int len; node(int x,i原创 2017-09-02 18:00:34 · 286 阅读 · 0 评论