時間限制: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有...