今天给大家献上“D”级题:50212228海岛帝国:LYF的太空运输站!!

   试题编号:0325    
50212228海岛帝国:LYF的太空运输站
难度级别:D; 运行时间限制:40ms; 运行空间限制:256000KB; 代码长度限制:2000000B
试题描述

最近,“购物券”WHT在“药师傅”帝国资源大会上提出了“SSTS”太空运输站计划。由于恐怖分子前些日子刚猖狂完,炸毁高楼无数,YSF不得不执行WHT丧心病狂的计划,“演员”KLINT(众所周知,又一大土豪同学)捐赠了众多资源,和高级技术。太空运输站建成了,YSF任命LYF为站长,LJX为副站长。第一波运输计划开始了!可是,当运输军队到达中转站金星时,遭到了盗取新技术的恐怖分子的袭击。由于没有足够的兵力,整个舰队全军覆没,LYF损失惨重,恼羞成怒,随即决定让YSM和LJX调用一半星际舰队。可恐怖分子太强,再次损失惨重。YSF无奈,决定给“过路费”。但YSF是个贪财的人,所以,YSF想让给的钱最少。他把这个难题交给了LYF,LYF又把这个任务交给了LJX,所以请你帮帮可怜的LYF,帮他编一个程序。另外,悬赏10000000000000000000000000000000000$,所以赶快做吧!

输入
* 第一行:两个整数:n表示有n个城市,m表示有m条道路。
* 接下来的m行,每行三个整数:a,b,c表示从a星到达b星的路花费是c
输出
输出需要钱数最少方案
输入示例
6 9
2 4 11
3 5 13
4 6 3
5 6 4
2 3 6
4 5 7
1 2 1
3 4 9
1 3 2
输出示例
19
其他说明
我并没有开玩笑,钱找LJX或YSF这两个财政部部长要都可以
生成树 Prim 呵呵呵
n<=15,m<=18
40ms够了吧?

好的,以上就是50212228海岛帝国:LYF的太空运输站的题目要求,现在献上代码!!!当当当!!!

#include<iostream>
using namespace std;
int dis[],book[]={};
int h[],pos[],size;
void swap(int x,int y)
{
int t;
t=h[x];
h[x]=h[y];
h[y]=t;
t=pos[h[x]];
pos[h[x]]=pos[h[y]];
pos[h[y]]=t;
return ;
}
void siftdown(int i)
{
int t,flag=;
while(i*<=size&&flag==)
{
if(dis[h[i]]>dis[h[i*]]) t=i*;
else t=i;
if(i*+<=size)
if(dis[h[t]]>dis[h[i*+]]) t=i*+;
if(t!=i)
{
swap(t,i);
i=t;
}
else flag=;
}
return ;
}
void siftup(int i)
{
int flag=;
if(i==) return ;
while(i!=&&flag==)
{
if(dis[h[i]]<dis[h[i/]]) swap(i,i/);
else flag=;
i/=;
}
return ;
}
int pop()
{
int t;
t=h[];
pos[t]=;
h[]=h[size];
pos[h[]]=;
size--;
siftdown();
return t;
}
int main()
{
int n,m,i,j,k;
int u[],v[],w[],first[],next[];
int inf=;
int count=,sum=;
scanf("%d%d",&n,&m);
for(i=;i<=m;i++) scanf("%d%d%d",&u[i],&v[i],&w[i]);
for(i=m+;i<=*m;i++)
{
u[i]=v[i-m];
v[i]=u[i-m];
w[i]=w[i-m];
}
for(i=;i<=n;i++) first[i]=-;
for(i=;i<=*m;i++)
{
next[i]=first[u[i]];
first[u[i]]=i;
}
book[]=;
count++;
dis[]=;
for(i=;i<=n;i++) dis[i]=inf;
k=first[];
while(k!=-)
{
dis[v[k]]=w[k];
k=next[k];
}
size=n;
for(i=;i<=size;i++)
{
h[i]=i;
pos[i]=i;
}
for(i=size/;i>=;i--)
{
siftdown(i);
}
pop();
while(count<n)
{
j=pop();
book[j]=;
count++;
sum+=dis[j];
k=first[j];
while(k!=-)
{
if(book[v[k]]==&&dis[v[k]]>w[k])
{
dis[v[k]]=w[k];
siftup(pos[v[k]]);
}
k=next[k];
}
}
printf("%d",sum);
}

50212228海岛帝国:LYF的太空运输站!!!!!

首师大附中科创教育平台 我的刷题记录 0325 50212228海岛帝国:LYF的太空运输站的更多相关文章

  1. 首师大附中科创教育平台 我的刷题记录 3120 LJX的校园:入学典礼

    今天给大家献上"C"级题:LJX的校园:入学典礼!! 试题编号:3120       LJX的校园:入学典礼 难度级别:C: 运行时间限制:45ms: 运行空间限制:256000K ...

  2. 首师大附中科创教育平台 我的刷题记录 0304 50095106扔核弹(XDC,你懂的)

    今天给大家献上"C"级题:50095106扔核弹(XDC,你懂的)!! 试题编号:0304   50095106扔核弹(XDC,你懂的) 难度级别:C: 运行时间限制:1000ms ...

  3. 【刷题记录】首师附NOIP练习20160820

    [由于老师不让发题目,So只能发考点喽!!!!噜噜噜] [题目(嘘~~~~~)]:百度云下载 [T1]:好像是DP,路径压缩+排序+分情况处理100分(噜噜噜) [T2]:正解好难的样子,DFS乱搞了 ...

  4. 锁定“嵌入式AI”应用 中科创达启动第二轮成长

    Thundersoft|中科创达软件股份有限公司  http://www.thundersoft.com/index.php 原文:http://tech.hexun.com/2017-08-29/1 ...

  5. Java SSM三端分离开发在线教育平台实战视频教程

    目录: 1-01——在线网校实战课程介绍1-02——Eclipse.Maven.JDK介绍1-03——Maven构建Project1-04——新浪SAE介绍2-01——平台业务结构概览2-02——平台 ...

  6. 基于Moodle的IT课程辅助教育平台搭建

    基于Moodle的IT课程辅助教育平台搭建 Moodle是一个开源课程管理系统(CMS),也被称为学习管理系统(LMS)或虚拟学习环境(VLE).它已成为深受世界各地教育工作者喜爱的一种为学生建立网上 ...

  7. 在线教育平台搭建 预览和models

    一.前言 1.1.项目介绍 在线演示地址:mxonline.mtianyan.cn 开发环境: python:3.6.4 Django:2.0.2 后台管理:xadmin 系统概括: 系统具有完整的用 ...

  8. Django+xadmin打造在线教育平台(二)

    三.xadmin后台管理 3.1.xadmin的安装 django2.0的安装(源码安装方式): https://github.com/sshwsfc/xadmin/tree/django2 把zip ...

  9. Django+xadmin打造在线教育平台(三)

    五.完成注册.找回密码和激活验证码功能 5.1.用户注册 register.html拷贝到templates目录 (1)users/views.py class RegisterView(View): ...

随机推荐

  1. iphone6 帶回家”活動!

    十一小長假即將來臨,周向榮還準備窩在家裏坐等“鋒菲戀”的後續結果嗎?雖然宅男無罪,但是請不要繼續在論壇裏高呼“李亞鵬娶了張柏芝”等口號,放下你“不吐槽會死星人”的特質,走出家門去領略一下祖國的大好山河 ...

  2. java final方法的作用

    1. 不想让别人修改方法实现. 2. 在方法调用时使用内嵌调用. 3. 有效的“关闭”动态绑定,这样编译器就可以为final方法调用生成更有效的代码. Java编程思想: “然而,大多数情况下,这样做 ...

  3. [基础常识]阿里云ecs从购买到环境搭建和建站!!(phpstudy一件包)

    首先如何购买ECS?发现有些人购买5G硬盘,我个人认为买硬盘应该购买20以上!这样以后好处理!   进入http://www.aliyun.com/product/ecs/?spm=5176.7189 ...

  4. Final-阶段站立会议5

    组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 代码地址:HTTPS:https://git.coding.net/jx8zjs/llk.git SSH:git@git.coding.n ...

  5. Android 网络通信框架Volley简介

    1.1. Volley引入的背景在以前,我们可能面临如下很多麻烦的问题. 比如以前从网上下载图片的步骤可能是这样的流程: 在ListAdapter#getView()里开始图像的读取. 通过Async ...

  6. JavaMail接、收邮件

    我总算把这个研究出来啦.... 不要觉得 代码有点多哈. 我们先来说发送邮箱吧,首先建立一个属性文件*.properties sys.properties server=smtp.163.com ## ...

  7. 简单理解php的socket编程

    php的socket编程算是比较难以理解的东西吧,不过,我们只要理解socket几个函数之间的关系,以及它们所扮演的角色,那么理解起来应该不是很难了,在笔者看来,socket编程,其实就是建立一个网络 ...

  8. Java提高篇——equals()方法和“==”运算符

    equals() 超类Object中有这个equals()方法,该方法主要用于比较两个对象是否相等.该方法的源码如下: public boolean equals(Object obj) { retu ...

  9. jpg转png

    对于jpg图片来说,有损压缩因子设置为0.5 可以大大减少图片的体积,而对图片的质量几乎没有太大影响: 下面是测试图片结果:     // UIImage *image_jpg = [UIImage ...

  10. CSS3 中border-image详解

    CSS3 border-image详解.应用及jQuery插件 一.border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊 ...