首页
/
每日頭條
/
生活
/
枚舉算法思想
枚舉算法思想
更新时间:2026-04-22 13:42:31

題目來源: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
推荐阅读
37分燙發教程
37分燙發教程
1、工具:針梳、綿紙、定位夾、冷燙藥水。2、首先,要先把頭發洗淨,不要用護發素,因為護發素會保護發絲...
2026-04-22
奶香烤薯餅做法是什麼
奶香烤薯餅做法是什麼
1、紅薯洗幹淨,去皮切成塊,然後放進鍋裡蒸熟。2、面粉和牛奶攪拌均勻。3、粉水調好後和蒸熟的紅薯泥攪拌成糊狀。4、然後在烤盤上鋪上以上錫紙,在錫紙上刷底油。5、然後将面糊擠到錫紙上,壓成大小一樣的餅。6、烤箱180度預熱,烤20分鐘即可出爐。
2026-04-22
幹香菇要泡多久才好
幹香菇要泡多久才好
1、幹香菇用30℃的溫水浸泡一個小時左右就能泡好了,在泡的時候不能使用熱水,否則會導緻香菇裡面的營養...
2026-04-22
擺地攤賣服裝有什麼技巧
擺地攤賣服裝有什麼技巧
1、觀察。觀察來往行人,年輕人、老年人、美女、帥哥、小孩等,他們是否對自己的産品有需求或者感興趣。假如我在賣毛絨玩具,那麼我的目标就是美女和小孩兩類人群。确定了自己的目标用戶就要進行第二步。2、吸引。想要做到吸引顧客可不容易,首先自己得放下面子,說白了就是"不要臉"。既然想賺錢就得放下面子,因為到社...
2026-04-22
怎樣做美味的涼拌銀耳
怎樣做美味的涼拌銀耳
第一、準備适量銀耳,放清水中泡發,去蒂洗淨,然後撕成小朵,放入盤中備用。注意,泡發銀耳的時候可以加少許白醋,這樣可以加快泡發的速度。第二、将準備好的銀耳放鍋中焯水,焯好後撈出過涼水,控幹水分,放入盤中備用。第三、準備适量青椒,洗淨後切碎,撒在銀耳上面,選用的青椒最好不要太辣,這樣可以增加菜肴的蔬菜香...
2026-04-22
Copyright 2023-2026 - www.tftnews.com All Rights Reserved