藍橋杯考試 分治法

2021-08-17 16:12:21 字數 515 閱讀 7736

題目

找到乙個陣列中比給的數大一點的數

intarr=;

分析:運用分治法,從中間切一刀,看看再切的位置滿不滿足條件,不滿足再在左邊或者右邊搜尋

public class _6_分治_01二分查詢1 

if(arr[k-1]<=n&&arr[k]>n) //如果剛好在二分的位置,返回

return arr[k];

if(arr[k]<=n) //不在二分位置,分別去搜尋左邊的或右邊的

return f(arr,k,end,n);

if(arr[k]>n)

return f(arr,0,k,n);

return 0; }

public static void main(string args) ;

for(int i=0;i<101;i++)

system.out.println(i+" "+f(arr,0,arr.length,i));

}}

藍橋杯之分治法與動態規劃

6.1 二分查詢 已知有序的序列 int a,整數 x 要求找到乙個剛好比x稍微大一點的元素位置 思路 磁體會進行遞迴,但是不是所有情況都遞迴,比如,我們只從每次結果中選出x所在範圍再進行遞迴,這樣會減少許多操作步驟,最後一步時,我們只有乙個數字,如果這個數字比x大,那麼這個數字的下標就是答案,否則...

2015藍橋杯決賽 居民集會 分治法

藍橋村的居民都生活在一條公路的邊上,公路的長度為l,每戶家庭的位置都用這戶家庭到公路的起點的距離來計算,第i戶家庭距起點的距離為di。每年,藍橋村都要舉行一次集會。今年,由於村里的人口太多,村委會決定要在4個地方舉行集會,其中3個位於公路中間,1個位最公路的終點。已知每戶家庭都會向著遠離公路起點的方...

JAM計數法 藍橋杯

解析時間限制 1 sec 記憶體限制 256 mb jam是個喜歡標新立異的科學怪人。他不使用阿拉伯數字計數,而是使用小寫英文本母計數,他覺得這樣做,會使世界更加豐富多彩。在他的計數法中,每個數字的位數都是相同的 使用相同個數的字母 英文本母按原先的順序,排在前面的字母小於排在它後面的字母。我們把這...