今天给大家献上“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. PropertiesUtil.java

    package com.vcredit.ddcash.batch.util; import java.io.BufferedReader;import java.io.File;import java ...

  2. unicode可以通过编码(encode)成为特定编码的str

    1.原始字符串python中的原始字符串以r开头,使用原始字符串可以避免字符串中转义字符带来的问题,例如写路径时 path = 'c:\noway',此时用 print path,其结果为:c:owa ...

  3. c++之vector

    vector是STL中最常见的容器,它是一种顺序容器,支持随机访问.vector是一块连续分配的内存,从数据安排的角度来讲,和数组极其相似, 不同的地方就是:数组是静态分配空间,一旦分配了空间的大小, ...

  4. cpu为什么使用虚拟地址到物理地址的空间映射,解决了什么样的问题?

    当处理器读或写入内存位置时,它会使用虚拟地址.作为读或写操作的一部分,处理器将虚拟地址转换为物理地址.通过虚拟地址访问内存有以下优势: 程序可以使用一系列相邻的虚拟地址来访问物理内存中不相邻的大内存缓 ...

  5. IOS第一天多线程-03线程间通信

    **** #import "HMViewController.h" @interface HMViewController () @property (weak, nonatomi ...

  6. poj2115-C Looooops(扩展欧几里德算法)

    本题和poj1061青蛙问题同属一类,都运用到扩展欧几里德算法,可以参考poj1061,解题思路步骤基本都一样.一,题意: 对于for(i=A ; i!=B ;i+=C)循环语句,问在k位存储系统中循 ...

  7. Ceph与OpenStack的Glance相结合

    http://docs.ceph.com/docs/master/rbd/rbd-openstack/?highlight=nova#kilo 在Ceoh的admin-node上进行如下操作: 1. ...

  8. DHCP Set Hostname

    参考: FreeBSD DHCP Set Hostname ( Empty Hostname After Reboot ) -- http://www.cyberciti.biz/faq/freebs ...

  9. securtcrt session配置转xshell的session配置

    参数: 1.securtcrt的session目录 2.一个xshell的模版文件 3.输出目录(必须不存在,自动创建) #!/usr/bin/python # -*- coding:utf-8 -* ...

  10. Python开发程序:简单主机批量管理工具

    题目:简单主机批量管理工具 需求: 主机分组 登录后显示主机分组,选择分组后查看主机列表 可批量执行命令.发送文件,结果实时返回 主机用户名密码可以不同 流程图: 说明: ### 作者介绍: * au ...