附上代码:

#include#include#include#include#include#include

using namespacestd;#define inf 0xfffffff

intn, m;

typedefstructNODE

{intto;intcost;

friendbool operator < (const NODE &a, const NODE &b) {return a.cost >b.cost;

}

}node;

typedefstructEdge

{int from;intnext;intto;intw;intvalue;

} edge;

edge maps[10000005];int head[100050];int dist[100050];int vids[100050];intcnt;voidcreat ()

{for(int i=0; i<100050; i++)

head[i]=-1;

cnt=0;

}void add(int u,int v,intw)

{

maps[cnt].from =u;

maps[cnt].to=v;

maps[cnt].w=w;

maps[cnt].value=w;

maps[cnt].next=head[u];///一开始放置为-1,-1的条件就可以跳出///下一步接着储存,head[u]的值,就是前面的位置

head[u]=cnt++;///head[u]会得到这条线的值

}int dijkstra(int s,intt)

{for(int i=0; i<100050; i++)

{

vids[i]=0;

dist[i]=inf;

}

priority_queueque;

node begins;

begins.to=s;

begins.cost=0;

que.push(begins);while(!que.empty())

{

node ends=que.top();

que.pop();if(!vids[ends.to])

{

vids[ends.to]=1;

dist[ends.to]=ends.cost;for(int i = head[ends.to]; ~i; i =maps[i].next)

{int to = maps[i].to, w =maps[i].w;

maps[i].w= ends.cost +w;if(!vids[to])

{

node ans;

ans.to=to;

ans.cost=ends.cost+w;

que.push(ans);

}

}

}

}if(dist[t] ==inf)

{return -1;

}else{returndist[t];

}

}bool cmp(const edge & a, const edge &b)

{if(a.w !=b.w)

{return a.w

}return a.value

}int pre[100050];voidInit()

{for(int i=1; i<=m; i++)

pre[i]=i;

}int finds(intx)

{if(pre[x]==x)returnx;else

return pre[x]=finds(pre[x]);

}void unionjoin(int x,inty)

{int u=finds(x);int v=finds(y);if(u==v)return;elsepre[u]=v;

}bool same(int x,inty)

{return finds(x)==finds(y);

}long longkruskal()

{long long ans=0;

sort(maps,maps+ 2 *m,cmp);for(int i = 0; i< 2 * m; i++)

{if(!same(maps[i].from,maps[i].to))

{

unionjoin(maps[i].from,maps[i].to);

ans+=maps[i].value;

}else

continue;

}returnans;

}intmain()

{while(~scanf("%d%d",&n,&m))

{

creat();for(int i = 0; i < m; i ++) {intu, v, w;

scanf("%d%d%d",&u, &v, &w);

add(u, v, w);

add(v, u, w);

}

dijkstra(1, n);

Init();long long re =kruskal();

printf("%lld\n",re);

}return 0;

}

ccf魔数c语言,ccf 201609-4 交通规划相关推荐

  1. CCF 201912-5 魔数 满分题解

    CCF 201912-5 魔数 满分题解 前缀知识 快速乘算法 可以计算两个大数在模m下的乘积而不会溢出 inline ull quickMul(ull a, ull b, ull mod) {a % ...

  2. CCF NOI1035 数根

    问题链接:CCF NOI1035 数根. 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 数根是这样定义的:对于一个正整数n,将它的各个数位上的数字相加得到一个新数,如果这个数 ...

  3. c语言ccf认证考试题库,2016ccf认证考试试题

    2016ccf认证考试试题 CDMA认证论坛,即CCF是一个由CDMA运营商和制造商共同建立和维护的全球性非营利组织.该组织致力于建立和规范CDMA终端产品的`全球统一认证和流程,促进CDMA终端产品 ...

  4. JVM虚拟机-Class文件之魔数

    一.魔数之定义 魔数这个词在不同领域代表不同的含义.在计算机领域,魔数有两个含义,一指用来判断文件类型的魔数:二指程序代码中的魔数,也称魔法值. 大多数情况下,我们都是通过扩展名来识别一个文件的类型的 ...

  5. 【学习笔记】使用魔数快速求平方根

    [学习笔记]使用魔数快速求平方根 简介 介绍使用魔数0x1fbd1df5快速求平方根x{\sqrt{x}}x​的C语言实现和公式的推导. 代码 float MagicSqrt(float x) {fl ...

  6. 深入理解Java虚拟机——魔数与Class文件的版本

    目录 一.魔数 1.1.魔数的概述 1.2.魔数的作用 1.3.版本号 二.通过Binary Viewer工具查看编译后的Class文件 2.1.Binary Viewer工具的下载与安装 2.2.B ...

  7. 【CCF会议期刊推荐】CCF推荐国际学术期刊/会议(计算机图形学与多媒体)

    欢迎订阅本专栏:<CCF推荐会议期刊> 订阅地址:https://blog.csdn.net/m0_38068876/category_11820954.html [CCF会议期刊推荐]C ...

  8. 【CCF会议期刊推荐】CCF推荐国际学术期刊/会议(计算机网络)

    欢迎订阅本专栏:<CCF推荐会议期刊> 订阅地址:https://blog.csdn.net/m0_38068876/category_11820954.html [CCF会议期刊推荐]C ...

  9. 【CCF会议期刊推荐】CCF推荐国际学术期刊/会议(计算机科学理论)

    欢迎订阅本专栏:<CCF推荐会议期刊> 订阅地址:https://blog.csdn.net/m0_38068876/category_11820954.html [CCF会议期刊推荐]C ...

最新文章

  1. 大厂程序员追求深圳女老师被拉黑!原因你想不到!
  2. webpack之 loader
  3. Linux(Redhat5.5)配置时间服务器(Ntp)法
  4. 服务器和交换机之间网络协议,网络协议是计算机网络中服务器,计算机,交换机.doc...
  5. python appium api pc_Appium Python API 中文版
  6. JDK8新特性(五)之Stream流介绍和获取方式
  7. Echarts数据可视化开发参数配置全解
  8. 江西 高职 分数 计算机,快讯!江西高职(专科)批次各高校投档分数线出炉…...
  9. CUTE FTP 控制连接已关闭
  10. java泛型类型擦除
  11. FPGA基础入门【14】开发板VGA视频输出控制
  12. 常见荧光染料修饰多种基团及其激发和 发射波长数据一览数据
  13. configure: error: Your system does not support systemd
  14. 如何甄别有价值的数据
  15. java测试开发工程师,必须要明白的几处知识(附面试问题)
  16. oracle中查看pga大小,关于oracle pga大小限制
  17. html5页面生成动态二维码
  18. Matlab常用函数2:vpa,roundn
  19. php laravel框架笔记
  20. 基于ROS的蛇形机器人基本仿生运动与自主爬台阶控制

热门文章

  1. java入栈_java中代码块的执行,也会有入栈的步骤吗?
  2. 三维数据平滑处理_关于CAD三维对象建模
  3. 优酷视频如何分享个人主页
  4. win7旗舰版太卡怎么办
  5. 如何在金山毒霸软件里安装腾讯视频
  6. java callback 多线程_JAVA Callback效率测试
  7. 上海电力大学c语言程序设计章测试,上海电力学院c语言报告:实验8 指针.doc
  8. spring boot配置tomcat部署
  9. Mysql中几种插入效率的实例对比
  10. java读excel乱码,【java 项目中,上传的excel打开时无法正常打开,显示乱码 ,怎样可以正常打开,】java读取excel乱码...