1262: 魔法宝石

时间限制: 2 秒  内存限制: 64 MB
提交: 346  解决: 85
提交 状态

题目描述

小s想要创造n种魔法宝石。小s可以用ai的魔力值创造一棵第i种魔法宝石,或是使用两个宝石合成另一种宝石(不消耗魔力值)。请你帮小s算出合成某种宝石的所需的最小花费。

输入

第一行为数据组数T(1≤T≤3)。
对于每组数据,首先一行为n,m(1≤n,m≤10^5)。分别表示魔法宝石种类数和合成魔法的数量。
之后一行n个数表示a1到an。(1≤ai≤10^9)。a_i表示合成第i种宝石所需的魔力值。
之后n行,每行三个数a,b,c(1≤a,b,cn),表示一个第a种宝石和第b种宝石,可以合成一个第c种宝石。

输出

每组数据输出一行n个数,其中第i个数表示合成第i种宝石的魔力值最小花费。

样例输入

1
3 1
1 1 10
1 2 3

样例输出

1 1 2

提示

来源

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int,int> Q;
const int N = 1e5+7;
const int inf = 0x3f3f3f3f;
const int mod = 10007;
int a[N];
vector<Q>p[N];
int n, m;
int vis[N];
void bfs()
{priority_queue<Q, vector<Q>, greater<Q> >q;for(int i=1;i<=n;i++) q.push(make_pair(a[i],i));while(!q.empty()){Q tmp=q.top();q.pop();int x=tmp.first;int u=tmp.second;if(x>a[u]) continue;for(int i=0;i<p[u].size();i++){int v1=p[u][i].first, v2=p[u][i].second;if(a[v2]>a[u]+a[v1]){a[v2]=a[u]+a[v1];q.push(make_pair(a[v2],v2));}}}return ;
}int main()
{int t;scanf("%d", &t);while(t--){scanf("%d %d", &n, &m);for(int i=1;i<=n;i++){scanf("%d", &a[i]);p[i].clear();}for(int i=0;i<m;i++){int x, y, z;scanf("%d %d %d", &x, &y, &z);p[x].push_back(make_pair(y,z));p[y].push_back(make_pair(x,z));}bfs();for(int i=1;i<=n;i++){printf("%d%c",a[i], i==n?'\n':' ');}}return 0;
}

haut 1262: 魔法宝石(dij+堆优化)@相关推荐

  1. HAUT 1262 魔法宝石 (最短路变形 or 暴力)

    1262: 魔法宝石 时间限制: 2 秒  内存限制: 64 MB 提交: 537  解决: 164 提交 状态 题目描述 小s想要创造n种魔法宝石.小s可以用ai的魔力值创造一棵第i种魔法宝石,或是 ...

  2. 【haut 1262: 魔法宝石】+ 暴力

    1262: 魔法宝石 时间限制: 2 秒 内存限制: 64 MB 提交: 389 解决: 100 提交 状态 题目描述 小s想要创造n种魔法宝石.小s可以用ai的魔力值创造一棵第i种魔法宝石,或是使用 ...

  3. HAUT 1262 魔法宝石(spfa)(河南工业大学2017校赛)

    魔法宝石 题目描述 小s想要创造n种魔法宝石.小s可以用ai的魔力值创造一棵第i种魔法宝石,或是使用两个宝石合成另一种宝石(不消耗魔力值).请你帮小s算出合成某种宝石的所需的最小花费. 输入 第一行为 ...

  4. HAUT 1262 魔法宝石 暴力思想,多种解决方案

    魔法宝石 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submi ...

  5. 链式前向星dij堆优化

    链式前向星 nextnextnext指的是上一条同起点边的位置,tototo表示这条边的终点,valvalval表示边权. u.v.valu.v.valu.v.val分别表示起点,终点,边权. hea ...

  6. 1262: 魔法宝石

    http://218.28.220.249:50015/JudgeOnline/problem.php?id=1262 1262: 魔法宝石 时间限制: 2 秒  内存限制: 64 MB 提交: 37 ...

  7. HAUTOJ 1262: 魔法宝石 24行代码

    1262: 魔法宝石 时间限制: 2 秒  内存限制: 64 MB 提交: 332  解决: 77 提交 状态 题目描述 小s想要创造n种魔法宝石.小s可以用ai的魔力值创造一棵第i种魔法宝石,或是使 ...

  8. dij算法堆优化_迪杰斯特拉算法(Dijkstra) (基础dij+堆优化) BY:优少

    算法实现步骤: a.初始时,只包括源点,即S = {v},v的距离为0.U包含除v以外的其他顶点,即:U ={其余顶点},若v与U中顶点u有边,则(u,v)为正常权值,若u不是v的出边邻接点,则(u, ...

  9. dij算法堆优化_迪杰斯特拉算法(Dijkstra) (基础dij+堆优化) BY:优少(示例代码)...

    算法实现步骤: a.初始时,只包括源点,即S = {v},v的距离为0.U包含除v以外的其他顶点,即:U ={其余顶点},若v与U中顶点u有边,则(u,v)为正常权值,若u不是v的出边邻接点,则(u, ...

最新文章

  1. [uart]stty命令使用
  2. 推荐两本旧书 recommend two CM books,which are not up-to-date
  3. matlab在图像调用Gabor滤波
  4. 加密安装Kli Linux
  5. Chaos网络库(三)- 主循环及异步消息的实现
  6. 如何在三层交换机上实现跨VLAN 的DHCP配置
  7. 爬虫----Scrapy框架
  8. 2021-02-22 【转载】什么是GCJ-02火星坐标系;为什么天地图没有偏移
  9. _视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途...
  10. cannot run program “google-chrome“: error=2, 没有那个文件或目录
  11. java aes输出长度_关于Java下的AES加密明文长度的问题
  12. EOS钱包、账号及其关系详解
  13. R语言混合线性模型包代码演示
  14. 用cube移植PS2手柄--HAL库
  15. pytorch 模型输出特征 保存npy
  16. 容器安装 libx264
  17. 为什么现在的程序员那么卑微?青出于蓝而胜于蓝啊
  18. 大数据征信是个人信用风险管理的必然趋势
  19. 像素游戏画法_点画法遇到像素化
  20. 支付宝SDK官方下载地址

热门文章

  1. win10 设置滑动关机以及修改图片为ico格式
  2. 偶数科技为辽宁农信数字化进程添加新动能
  3. 常用函数之map函数
  4. TeX中的引号我麻了
  5. qq话题怎么引流?QQ空间说说引流技巧,QQ引流有什么好方法?
  6. 台式计算机的辐射,台式电脑哪个部分辐射比较大?
  7. 常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构)
  8. 记一次软考高项【信息系统项目管理师】重点
  9. 爱普生 RS330 打印机墨水连供装置墨盒吸墨复位方法
  10. 【转】什么是现实理想主义者