haut 1262: 魔法宝石(dij+堆优化)@
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,c≤n),表示一个第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+堆优化)@相关推荐
- HAUT 1262 魔法宝石 (最短路变形 or 暴力)
1262: 魔法宝石 时间限制: 2 秒 内存限制: 64 MB 提交: 537 解决: 164 提交 状态 题目描述 小s想要创造n种魔法宝石.小s可以用ai的魔力值创造一棵第i种魔法宝石,或是 ...
- 【haut 1262: 魔法宝石】+ 暴力
1262: 魔法宝石 时间限制: 2 秒 内存限制: 64 MB 提交: 389 解决: 100 提交 状态 题目描述 小s想要创造n种魔法宝石.小s可以用ai的魔力值创造一棵第i种魔法宝石,或是使用 ...
- HAUT 1262 魔法宝石(spfa)(河南工业大学2017校赛)
魔法宝石 题目描述 小s想要创造n种魔法宝石.小s可以用ai的魔力值创造一棵第i种魔法宝石,或是使用两个宝石合成另一种宝石(不消耗魔力值).请你帮小s算出合成某种宝石的所需的最小花费. 输入 第一行为 ...
- HAUT 1262 魔法宝石 暴力思想,多种解决方案
魔法宝石 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submi ...
- 链式前向星dij堆优化
链式前向星 nextnextnext指的是上一条同起点边的位置,tototo表示这条边的终点,valvalval表示边权. u.v.valu.v.valu.v.val分别表示起点,终点,边权. hea ...
- 1262: 魔法宝石
http://218.28.220.249:50015/JudgeOnline/problem.php?id=1262 1262: 魔法宝石 时间限制: 2 秒 内存限制: 64 MB 提交: 37 ...
- HAUTOJ 1262: 魔法宝石 24行代码
1262: 魔法宝石 时间限制: 2 秒 内存限制: 64 MB 提交: 332 解决: 77 提交 状态 题目描述 小s想要创造n种魔法宝石.小s可以用ai的魔力值创造一棵第i种魔法宝石,或是使 ...
- dij算法堆优化_迪杰斯特拉算法(Dijkstra) (基础dij+堆优化) BY:优少
算法实现步骤: a.初始时,只包括源点,即S = {v},v的距离为0.U包含除v以外的其他顶点,即:U ={其余顶点},若v与U中顶点u有边,则(u,v)为正常权值,若u不是v的出边邻接点,则(u, ...
- dij算法堆优化_迪杰斯特拉算法(Dijkstra) (基础dij+堆优化) BY:优少(示例代码)...
算法实现步骤: a.初始时,只包括源点,即S = {v},v的距离为0.U包含除v以外的其他顶点,即:U ={其余顶点},若v与U中顶点u有边,则(u,v)为正常权值,若u不是v的出边邻接点,则(u, ...
最新文章
- [uart]stty命令使用
- 推荐两本旧书 recommend two CM books,which are not up-to-date
- matlab在图像调用Gabor滤波
- 加密安装Kli Linux
- Chaos网络库(三)- 主循环及异步消息的实现
- 如何在三层交换机上实现跨VLAN 的DHCP配置
- 爬虫----Scrapy框架
- 2021-02-22 【转载】什么是GCJ-02火星坐标系;为什么天地图没有偏移
- _视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途...
- cannot run program “google-chrome“: error=2, 没有那个文件或目录
- java aes输出长度_关于Java下的AES加密明文长度的问题
- EOS钱包、账号及其关系详解
- R语言混合线性模型包代码演示
- 用cube移植PS2手柄--HAL库
- pytorch 模型输出特征 保存npy
- 容器安装 libx264
- 为什么现在的程序员那么卑微?青出于蓝而胜于蓝啊
- 大数据征信是个人信用风险管理的必然趋势
- 像素游戏画法_点画法遇到像素化
- 支付宝SDK官方下载地址
热门文章
- win10 设置滑动关机以及修改图片为ico格式
- 偶数科技为辽宁农信数字化进程添加新动能
- 常用函数之map函数
- TeX中的引号我麻了
- qq话题怎么引流?QQ空间说说引流技巧,QQ引流有什么好方法?
- 台式计算机的辐射,台式电脑哪个部分辐射比较大?
- 常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构)
- 记一次软考高项【信息系统项目管理师】重点
- 爱普生 RS330 打印机墨水连供装置墨盒吸墨复位方法
- 【转】什么是现实理想主义者