这题是科大初赛的一道题,但是弱得一逼的我居然这么裸的都没做出来,边太多,kruskal 果断超时,prim上场

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<iostream>
#include<string.h>
#include<algorithm>
#include<queue>
#include<vector>
#define max 100000
#define min -10000
using namespace std;int g[1010][1010],flag[1010],dist[1010],p[1010];
int sum1=0,sum2=0;
int minprim(int n)
{int i,j,t;sum1=0;memset(flag,0,sizeof(flag));memset(dist,0,sizeof(dist));for(i=1;i<=n;i++){g[i][i]=max;}for(i=1;i<=n;i++)dist[i]=g[1][i];flag[1]=1;for(i=2;i<=n;i++){int temp=max;for(j=1;j<=n;j++){if(!flag[j]&&dist[j]<temp){temp=dist[j];t=j;}}flag[t]=1;sum1+=temp;for(j=1;j<=n;j++){if(dist[j]>g[t][j])dist[j]=g[t][j];}}return sum1;
}
int maxprim(int n)
{int i,j,t;sum2=0;memset(flag,0,sizeof(flag));memset(dist,0,sizeof(dist));for(i=1;i<=n;i++){g[i][i]=min;}for(i=1;i<=n;i++)dist[i]=g[1][i];flag[1]=1;for(i=2;i<=n;i++){int temp=min;for(j=1;j<=n;j++){if(!flag[j]&&dist[j]>temp){temp=dist[j];t=j;}}flag[t]=1;sum2+=temp;for(j=1;j<=n;j++){if(dist[j]<g[t][j])dist[j]=g[t][j];}}return sum2;
}
int main()
{int T;int k;scanf("%d",&T);for(k=1;k<=T;k++){int n;scanf("%d",&n);int i,j;memset(g,0,sizeof(g));memset(p,0,sizeof(p));for(i=1;i<=n;i++){scanf("%d",&p[i]);}for(i=1;i<=n;i++){for(j=i+1;j<=n;j++){g[j][i]=g[i][j]=abs(p[i]-p[j]);}}printf("Case #%d: %d %d\n",k,minprim(n),maxprim(n));}return 0;
}

UESTC 1635 最大最小生成树相关推荐

  1. 【最小生成树专题】UESTC - 1636 梦后楼台高锁,酒醒帘幕低垂

    http://qscoj.cn/#/problem/show/1636 梦后楼台高锁,酒醒帘幕低垂 Description 给你一个有nn个点和mm条边的无向连通图,每条边都有一个权值ww.  我们定 ...

  2. UESTC - 1636 梦后楼台高锁,酒醒帘幕低垂(枚举+最小生成树)

    题意 给你一张图, 求1到n的路径,边权最大值-边权最小值最小的差ans 输出这个ans 思路来源 https://blog.csdn.net/ProLightsfxjh/article/detail ...

  3. UESTC 图论专题 A-D

    A:梦后楼台高锁,酒醒帘幕低垂 题目链接:http://acm.uestc.edu.cn/#/problem/show/1636 解法:首先,考虑到,我们需要找到一条路径,使它的最小边尽量大,最大边尽 ...

  4. 数据结构与算法(7-3)最小生成树(普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法)

    目录 一.最小生成树简介 二.普里姆算法(Prim) 1.原理 2.存储 2-1.图顶点和权: 2-3. 最小生成树: 3.Prim()函数 3-1.新顶点入树 3-2.保留最小权 3-3. 找到最小 ...

  5. [kuangbin带你飞]专题六 最小生成树 L - 还是畅通工程 (简单最小生成树)

    L - 还是畅通工程 题目链接:https://vjudge.net/contest/66965#problem/L 题目: 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府&qu ...

  6. 图的算法专题——最小生成树

    概要: Prim算法 Kruskal算法 1.Prim算法 算法流程: (1)对图G(V,E)设置集合S来存放已被并入的顶点,然后执行n次(2)(3) (2)每次从未并入顶点集合中选择与集合S最近的一 ...

  7. 【BZOJ1016】【Luogu P4208】 [JSOI2008]最小生成树计数 最小生成树,矩阵树定理

    蛮不错的一道题,遗憾就遗憾在数据范围会导致暴力轻松跑过. 最小生成树的两个性质: 不同的最小生成树,相同权值使用的边数一定相同. 不同的最小生成树,将其都去掉同一个权值的所有边,其连通性一致. 这样我 ...

  8. Educational Codeforces Round 9 F. Magic Matrix 最小生成树

    F. Magic Matrix 题目连接: http://www.codeforces.com/contest/632/problem/F Description You're given a mat ...

  9. [vijos1234]口袋的天空最小生成树

    题目链接:https://vijos.org/p/1234 白天刚刚写完prim的算法,晚上就心血来潮的打了一道最小生成树的题 虽然有题解说可以用prim做,但是这道题明显是加最小的边,感觉krusk ...

最新文章

  1. 什么是标签传播算法?为什么要使用标签传播算法?如何使用?
  2. 企业流程管理平台V2.0介绍
  3. 垂直串联六关节机器人调试手册_不止下棋能赢你!新型协作机器人样样精通
  4. SQL 与 ORACLE 的比较
  5. Java中注释的使用
  6. vs2019写c语言用不了scanf,VS2010里编C程式不能用scanf()吗?
  7. win10 java8安装包双击之后完全没反应
  8. 转换vcf文件到csv文件的python脚本
  9. 如何将heic格式批量转化jpg
  10. Android音视频开发之——音频非压缩编码和压缩编码,神级Android进阶笔记
  11. 语音系统智能AI机器人AI源码营销机器人电销机器人智能电话机器人拨号机器人语音机器人空号识别FreeSWITCH呼叫中心中间ipbxIPBX科大识别阿里识别语音识别语音翻译
  12. 半导体器件制造封装材料和生产工艺流程(图文介绍)
  13. 农夫山泉Java开发工程师一面经历
  14. 惠普计算机工作站,HP 笔记本计算机和移动工作站电池安全召回和更换计划
  15. 怎样快速解决EDIUS中文件无法打开问题
  16. 第七篇:爬虫实战— 3、自动登录123并且自动发送邮箱;自动爬取京东商品信息...
  17. WPF帝友借贷系统MV模式开发日志2021/04/02_前台登入注册页面搭建
  18. java怎么通过坐标定位控件_[已解决] 可以定位到控件, 但每次执行 click () 方法会报空指针错误 java.lang.NullPointerException...
  19. 1127 判断完全数
  20. Lpa* 源码 原理

热门文章

  1. [模板] 计算几何2: 自适应Simpson/凸包/半平面交/旋转卡壳/闵可夫斯基和
  2. 改进神经网络的学习方法(上)
  3. 【IRP】Windows 驱动之IRP
  4. bmob android博客,(android)bmob中实现保存
  5. wndDL课程学习笔记
  6. java个人常见异常
  7. IDL批量计算栅格数据平均值
  8. Matlab数学建模(七):连续模型
  9. JDK15已发布!网友:我还在JDK8踏步走...
  10. facebuilder免费版_FaceBuilder 2.1.1 For Blender 2.8x-2.9x脸头部照片建模纹理插件