首页
/
每日頭條
/
生活
/
枚舉算法思想
枚舉算法思想
更新时间:2026-05-05 15:11:32

題目來源:Vjudge 1048506

枚舉算法思想(算法枚舉趣題)1

現在有某英雄要放n(10e9)個技能,有冷卻時間,x秒放一次。

1、m個天賦可以學習,第i個天賦花b[i]塊錢,作用是把冷卻時間直接改成a[i]。

2、可以找個打手。有k個打手可以找,請第i個打手需要花掉d[i]塊錢,他會直接幫你放出c[i]次技能。

m,k (10e5)

給出初始金錢數,問所用的最少的時間。

天賦隻能學習一個,打手也隻能請一位。

思路:枚舉學哪個技能,剩下的錢找哪個打手最值。

關于選打手:不選該x打手的情況為打手不值,也就是有能力比x強,花費還便宜的。按照花費排序。

枚舉算法思想(算法枚舉趣題)2

# include <cstdio> # inelinde <cstdlib> # include <vector> # inelude <cstring> # Enelude <algorithm> using namespace std; typedef long long ll; ll a[100005],b[100005];//b錢,a冷卻時間 ll n,m,k,x,s; //n個技能,m個天賦,k個打手,x秒放一次,s錢數 struct hero { ll c,d;//c次技能,d塊錢 friend bool operator < (hero a,hero b) { return a.d<b.d; } hero(ll _c=0,ll _d=0) { c=_c,d=_d; } }; hero h[100005]; vector <hero> ok; void inp() { ll i; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(h,0,sizeof(h)); ok.clear(); scanf("%lld%lld%lld%lld%lld",&n,&m,&k,&x,&s); for(i=1; i<=m; i ) scanf("%lld",&a[i]); for(i=1; i<=m; i ) scanf("%lld",&b[i]); for(i=1; i<=m; i ) scanf("%lld",&h[i].c); for(i=1; i<=m; i ) scanf("%lld",&h[i].d); } void gao() { ll i,now=0; sort(h 1,h 1 k); ok.push_back(hero(0,0)) for(i=1; i<=k; i ) { if(h[i].c<=now) continue; now=max(now,h[i].c); ok.push_back(h[i]); } } ll les(ll p) { //二分查找 return(*(--upper_bound(ok.begin(),ok.end(),hero(0,p)))).c; } ll calc() { ll i,t,ans=99999999999999999999; a[0]=x,b[0]=0; for(i=0; i<=m; i ) if(s>=b[i]) { if(n-les(s-b[i])>0) t=(n-les(s-b[i]))*a[i]; else t=0; ans=min(ans,t); } printf("%lld\n",ans); } void work{ inp(); gao(); calc(); } int main(void) { ll t; //需要計算的英雄數 scanf("%lld",&t); while(t--) work(); }

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
巧開鏽鎖
巧開鏽鎖
巧開鏽鎖的材料:普通白紙、鉛筆、一把小刀。巧開鏽鎖步驟:1、把白紙墊在桌子上,把鉛筆芯削成粉末。2、把削下來的鉛筆芯,倒在鎖眼裡,同時也可以把鉛筆芯塗在鑰匙上,然後就可以鑰匙插進去,就像這樣,先反複多插幾次,讓鑰匙和鎖之間充分潤滑,同時破壞掉鐵鏽,最後就可以慢慢的試試左右擰開了。
2026-05-05
實用家居清潔技巧:蘸牛奶擦木制家具
實用家居清潔技巧:蘸牛奶擦木制家具
實用家居清潔技巧:蘸牛奶擦木制家具實用家居清潔技巧1、用鹽去地毯上的湯汁有小孩的家庭,地毯上常常滴有湯汁,千萬不能用濕布去擦。應先後用潔淨的幹布或手巾吸幹水分,然後在污漬處撒些食鹽,待鹽面滲入吸收後,用吸塵器将鹽吸走,再用刷子整平地毯即可。2、蘸牛奶擦木制家具取一塊幹淨的抹布在過期不能飲用的牛奶裡浸...
2026-05-05
新媒體運營是做什麼?
新媒體運營是做什麼?
新媒體運營,是通過現代化移動互聯網手段,通過利用各短視頻平台及内容平台進行産品宣傳、推廣、産品營銷的一系列手段。通過策劃品牌相關的優質、高度傳播性的内容和線上活動,向客戶廣泛或者精準推送消息,提高參與度、知名度,從而充分利用粉絲經濟,達到相應營銷目的。不管是創業做個人自媒體還是到企業内就職,新媒體運...
2026-05-05
有機蔬菜标準
有機蔬菜标準
現在随着生活的質量越來越好,很多人對于生活的追求是越來越高的。現在很多人都希望可以吃到有機蔬菜,以為内有機蔬菜的營養更高,而且更加有營養價值,更加健康。說了有機蔬菜那麼多的好處,那麼有機蔬菜的一個标準是什麼呢,估計這個是沒有多少人知道的,隻是知道有機蔬菜好。有機蔬菜好在哪裡這個大家要知道,有機蔬菜的...
2026-05-05
二月二的風俗有哪些?
二月二的風俗有哪些?
南方部分地區有祭社習俗,即慶祝土地公生日;北方則有吃豬頭肉、理發(剪“龍頭”)的習俗。根據民間傳說,此為主管雲雨的龍王擡頭之日,意味着在此之後雨水會漸多;民間亦有“二月二,龍擡頭”的諺語,表示春季來臨,萬物複蘇,蟄龍開始活動,預示一年的農事活動即将開始。龍擡頭(農曆二月二),又稱“春耕節”“農事節”...
2026-05-05
Copyright 2023-2026 - www.tftnews.com All Rights Reserved