牛客網刷題

2021-09-16 22:04:40 字數 1916 閱讀 3170

時間限制:c/c++ 2秒,其他語言4秒

空間限制:c/c++ 524288k,其他語言1048576k

64bit io format: %lld

立華奏是乙個剛剛開始學習 oi 的萌新。

最近,實力強大的 qingyu

當選了 iods 9102 的出題人。眾所周知, iods 是一場極其毒瘤的比賽。為了在這次比賽中取得好的成績,立華奏決定學習可能考到的每乙個知識點。

在 qingyu 的部落格中,立華奏得知這場比賽總共會考察選手 n 個知識點。此前,立華奏已經依靠自學學習了其中 k 個知識點。接下來,立華奏需要學習其他的知識點,每學習乙個單獨的知識點,需要消耗的時間為 ti 天。同時,某些知識點之間存在聯絡,可以加速學習的過程。經過計算,立華奏一共發現了其中 m 種聯絡,第 i 種聯絡可以表示為(xi,yi,hi),其含義為「在掌握了第 xi 個知識點和第 yi 個知識點中任意乙個後,學習 hi

天即可掌握另乙個知識點」。

留給立華奏的時間所剩無幾,只有 t 天,因此,她想知道自己能不能在這 t 天內學習完成所有的知識點。

本題輸入量較大,請注意使用效率較高的讀入方式輸入的第一行包含四個整數 n, m, k, t,含義見上所述。
接下來一行,包含 n 個整數,依次表示 t1,t2,⋯,tn

接下來一行,包含 k 個整數,表示立華奏已經學習過的知識點。如果 k=0,則此處為一空行。

接下來 m 行,每行 3 個整數 xi,yi,hi,描述一種聯絡。

如果立華奏能夠學習完所有的知識點,輸出一行 yes。否則輸出 no
輸入

4 3 2 5

4 5 6 7

2 31 2 3

1 3 2

3 4 2

輸出

yes思路:先把總共需要的天數求出來,減去已經學過的知識點所需要的天數,在根據關係比較a[i],a[j]與h的關係取min(a[i],a[j],h)

然後把days拿來與t做比較  if(days

具體思路:貪心

通過**

#include #include #include #include #include #include #include #include #include #include #include #define rg register

#define rep(i,x,y) for(rg long long i=(x);i<=(y);++i)

#define per(i,x,y) for(rg int i=(x);i>(y);--i)

using namespace std;

#define max 1000000

#define ll long long

ll n,k;

ll arr[max];

ll m;

ll t;

ll days=0;

int main()

while(k--)

while(m--)

if(arr[x]>arr[y])else

days+=h;

days-=max;

if(days<=t)

while(k--)

while(m--)

if(a[x]>a[y])

else

days+=k;

days-=max;

if(days<=t)//直到最後乙個才可能小於 t 所以不要擔心 m 減不到 0

牛客網刷題

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 立華奏在學習初中數學的時候遇到了這樣一道大水題 設箱子內有 n 個球,其中給 m 個球打上標記,設一次摸球摸到每乙個球的概率均等,求一次摸球摸到打標記的球的概率 e...

牛客網刷題筆記

今天在牛客網刷了一道求最長字串是回文數的長度,剛開始的時候,我用兩個指標,乙個指前邊,乙個指後邊,對比兩個指標指向的值,相等則前邊的指標後移,後邊的指標前移,然後再判斷是否相等,如果不相等,那麼就不是回文數,前邊的指標回到第一次開始的地方,後邊的指標回到第一次開始的地方,前邊的指標再自加後移移位,然...

牛客網C 刷題

今天刷了些c 的題,就其中物件導向分享一下我的感悟。首先區分一下物件導向和面向過程 物件導向是首先抽象出各種物件 各種類 把資料和方法都封裝在物件中 類 然後各個物件之間發生相互作用。面向過程是將問題分解成若干步驟 動作 每個步驟 動作 用乙個函式來實現,在使用的時候,將資料傳遞給這些函式。stl有...