救命(洛谷 U4525)

2022-05-14 16:42:39 字數 1337 閱讀 6044

xs中學的校長積勞成疾,最終由於無聊而臥病在沙發。需要藥(pi)水(gu)拯救他的生活。

現在有n種藥水,編號分別為1..n,能拯救校長的藥水編號為n

每個藥水都可以購買到,但有的**很便宜,有的很貴。

你還知道m種神奇的合成方法,可以將某些不同的藥水合成成為乙個新的藥水。

現在,你需要求出合成出n號藥水所需要花費的最小金錢,以及在保證花費最小情況下的最少需要合成的次數。

輸入格式:

第一行兩個數n,m

接下來n行,每行有乙個數a[i],表示i號藥水的**。

接下來m行,每行描述乙個合成方法。

對於每個合成方法:第乙個數x表示所需要的藥水的個數。接下來x個數,分別表示所需要的每個藥水的編號,最後乙個數表示這x個藥水所合成的藥水的編號

輸出格式:

僅兩個數,分別表示最小花費和滿足該花費的最小合成次數,中間用空格隔開。

輸入樣例#1:

10 412

310042

22100100

3 1 2 3 4

2 4 5 10

2 6 7 9

2 9 8 4

輸出樣例#1:

10 2
n<=1000

m<=10000

2<=x<=10

tips:看標籤!!!

/*

對於每種藥,統計乙個mon代表最小花費,step代表在mon基礎上的最小步數, 不斷用能合成i這種藥的σmon[j] 來更新mon[i],共更新n次就可以,最後求 mon[n]。

*/#include

#include

#define n 1010

#define m 10010

using

namespace

std;

intmon[n],step[n],n,m;

struct

node

;node a[m];

intread()

while(c>='

0'&&c<='9')

return num*flag;

}int

main()

for(int t=1;t<=n;t++)

if(sum==mon[a[i].t]&&maxn+1

step[a[i].t]==maxn+1,flag=1

; }

if(!flag)break

; }

printf(

"%d %d

",mon[n],step[n]);

return0;

}

view code

洛谷P4525 模板 自適應辛普森法1

傳送門 我似乎連積分都不太熟練 總之就是對於乙個原函式,我們找乙個二次函式來近似它,那麼有 begin int a bf x dx frac b 3 a 3 frac b 2 a 2 c a b frac 2a b 2 ab a 2 3b b a 6c frac 2ab 2 2aab 2aa 2 3...

洛谷 U6931 燈光

明天就是校園活動了,小明作為場地的負責人,將一切都布置好了。但是在活動的前幾天,校園裡的燈卻都壞掉了,無奈之下,只好再去買一批燈。但是很遺憾的是,廠家看馬上要過年了,就沒有在進貨了,現在只剩下n個發光值不同的燈,作為負責人,你需要,想辦法配出合適的燈。廠家有n盞剩下的燈,小明需要m盞燈,因為活動舉辦...

洛谷 U141384 電路

洛谷傳送門 seawayseawa y是熱愛學習的好孩子。有一天,seawayseawa y正在向他的物理老師lsplsp討教物理。ll老師向他介紹了一種神奇的電路,邏輯電路 ll老師說 邏輯電路是一種離散訊號的傳遞和處理 以二進位制為原理 實現數碼訊號邏輯運算和操作的電路。分組合邏輯電路和時序邏輯...