魔法寶石(思維啊 )

2021-07-31 03:55:28 字數 715 閱讀 6307

時間限制: 2 秒  記憶體限制: 64 mb

題目描述

小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種寶石的魔力值最小花費。

樣例輸入

13 11 1 101 2 3
樣例輸出

1 1 2

題解:我的思路就是直接由a和b更新c的值,直到一直更新不了……

#include#include#include#include#include#include#include#include#include#include#include#include#define inf 0x3f3f3f3f

#define ll long long

#define for(i,a,b) for(int i=a;i

魔法寶石 spfa

時間限制 2 秒 記憶體限制 64 mb 提交 248 解決 48 提交 狀態 題目描述 小s想要創造n種魔法寶石。小s可以用ai的魔力值創造一棵第i種魔法寶石,或是使用兩個寶石合成另一種寶石 不消耗魔力值 請你幫小s算出合成某種寶石的所需的最小花費。輸入 第一行為資料組數t 1 t 3 對於每組資...

HAUT校賽 魔法寶石 暴力

時間限制 2 秒 記憶體限制 64 mb 提交 505 解決 149 提交 狀態 題目描述 小s想要創造n種魔法寶石。小s可以用ai的魔力值創造一棵第i種魔法寶石,或是使用兩個寶石合成另一種寶石 不消耗魔力值 請你幫小s算出合成某種寶石的所需的最小花費。輸入 第一行為資料組數t 1 t 3 對於每組...

HAUTOJ 1262魔法寶石 優先佇列

題目鏈結 比賽場上是暴力懟過去的,回來補題學了個優先佇列的想法 因為寶石的合成情況可能有巢狀,比如1和2生成3,1和3生成2,2和3生成1,如果用dp去做的話,那麼就會形成乙個迴路,就沒辦法當做樹形dp搞了 所以我們要想到,如果出現了某個生成環,那麼其環三個元素中,魔力值最小的那個一定不可被更新,所...