首页
/
每日頭條
/
生活
/
枚舉算法思想
枚舉算法思想
更新时间:2026-07-09 07:26:12

題目來源: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
推荐阅读
微波爐烤曬幹帶殼的花生幾分鐘
微波爐烤曬幹帶殼的花生幾分鐘
微波爐烤曬幹帶殼的花生幾分鐘?放入微波爐高火5分鐘,然後再中火20分鐘左右即可,我來為大家科普一下關于微波爐烤曬幹帶殼的花生幾分鐘?以下内容希望對你有幫助!微波爐烤曬幹帶殼的花生幾分鐘放入微波爐高火5分鐘,然後再中火20分鐘左右即可。微波爐...
2026-07-09
怎麼讓發财夢變現
怎麼讓發财夢變現
問一個大家都感興趣的問題:憑一部手機,如何在7天賺到10萬?可能會有人說,這也太不切實際了!除非是投資高手或者網紅才有可能吧?我今天想說的,就是沒資源沒背景,像我一樣,邊帶娃邊工作的普通人,該如何通過一部手機輕松賺錢!打開抖音/快手,應該看...
2026-07-09
肩後縮訓練
肩後縮訓練
相信很多女生都有這樣的困惑:為什麼我明明不胖,但是看起來就是壯壯的呢?有的時候我們會發現身邊這樣的人不在少數。其中的原因就是肩寬背厚,這樣的人無論體重是多少看起來都會非常顯胖顯壯,雖然很不公平,但是也隻能默默接受。為了解決肩寬妹子的困擾,今...
2026-07-09
小米6nfc可以當公交卡嗎
小米6nfc可以當公交卡嗎
昨日下午的北京工業大學體育場可以說異常熱鬧,中國首發高通骁龍835平台的小米6終于發布,而且還是滿血版!除了高通骁龍835外,6GBLPDDR4X運存、四曲面玻璃/陶瓷機身、光學變焦雙攝以及更快更省電的MIUI都是小米6身上的亮點。在三星S...
2026-07-09
四川人泡姜怎麼做
四川人泡姜怎麼做
四川人泡姜怎麼做?生姜清洗幹淨,去皮後切成塊備用大蒜去皮洗幹淨備用,我來為大家科普一下關于四川人泡姜怎麼做?以下内容希望對你有幫助!四川人泡姜怎麼做生姜清洗幹淨,去皮後切成塊備用。大蒜去皮洗幹淨備用。生姜片和大蒜放在陰涼的地方晾幹表面的水分...
2026-07-09
Copyright 2023-2026 - www.tftnews.com All Rights Reserved