藍橋官網試題 演算法提高 change(思維)

2021-09-10 17:31:02 字數 1506 閱讀 7904

題幹:

問題描述

陣列a中共有n個元素,初始全為0。你可以對陣列進行兩種操作:1、將陣列中的乙個元素加1;2、將陣列中所有元素乘2。求將陣列a從初始狀態變為目標狀態b所需要的最少運算元。

輸入格式

第一行乙個正整數n表示陣列中元素的個數

第二行n個正整數表示目標狀態b中的元素

輸出格式

輸出一行表示最少運算元

樣例輸入

27 8

樣例輸出

資料規模和約定

n<=50,b[i]<=1000

解題報告:

一眼bfs,,再讀題發現不能這樣做,,乘2操作是全陣列一起的,,然後倒著做一下就出來了。

ac**:

#include#include#include#include#include#include#include#include#include#include#define ll long long

#define pb push_back

#define pm make_pair

#define fi first

#define se second

using namespace std;

const int max = 2e5 + 5;

int a[max],n;

bool ok()

return 0 ;

}bool allou()

return 1 ;

}int main()

for(int i = 1; i<=n; i++)

} cout << ans;

return 0 ;

}

錯誤**:

#include#include#include#include#include#include#include#include#include#include#define ll long long

#define pb push_back

#define pm make_pair

#define fi first

#define se second

using namespace std;

const int max = 2e5 + 5;

int a[max],ans2[max];

struct node

node(ll v,int step,int jia,int ch):v(v),step(step),jia(jia),ch(ch){}

};node bfs(ll a,ll b)

return node(0,0,0,0);

}int main()

int tmp = *min_element(ans2+1,ans2+n+1);

for(int i = 1; i<=n; i++)

printf("%d\n",ans1+tmp);

return 0 ;

}

藍橋網 演算法提高 快樂司機

問題描述 嘟嘟嘟嘟嘟嘟 喇叭響我是汽車小司機 我是小司機 我為祖國運輸忙 運輸忙 這是兒歌 快樂的小司機 話說現在當司機光有紅心不行,還要多拉快跑。多拉不是超載,是要讓所載貨物價值最大,特別是在當前油價日新月異的時候。司機所拉貨物為散貨,如大公尺 麵粉 沙石 泥土.現在知道了汽車核載重量為w,可供選...

藍橋試題 演算法提高 和諧宿舍2

我的某室友學過素描,牆上有n張他的作品。這些作品都是寬度為1,高度不定的矩形,從左到右排成一排,且底邊在同一水平線上。宿舍評比就要來了,為了及格,我們決定買不多於m塊的矩形木板,把這些作品和諧掉。要求木板也從左到右排成一排,且底邊與作品的底邊在同一水平線上。在能夠把所有作品和諧掉的前提下,我們希望這...

藍橋杯 試題 演算法提高 成績排序

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給出n個學生的成績,將這些學生按成績排序,排序規則,優先考慮數學成績,高的在前 數學相同,英語高的在前 數學英語都相同,語文高的在前 三門都相同,學號小的在前 輸入格式 第一行乙個正整數n,表示學生人數 接下來n行每行3個0 100...