演算法筆記 木棒分割

2021-10-07 07:14:48 字數 768 閱讀 1612

#include

#include

#include

using

namespace std;

intf

(int a,

int mid)

return sum;

}int

binarysearch

(int a,

int left,

int right,

int k)

else

}return left-1;

}int

main()

;sort

(a,a+3)

;int k;

scanf

("%d"

,&k)

;int mid=

binarysearch

(a,0

,a[2

],k)

;printf

("%d\n"

,mid)

;printf

("第一段分為:%d,第二段分為:%d,第三段分為:%d"

,a[0

]/mid,a[1]

/mid,a[2]

/mid)

;return0;

}

**小白,每天堅持寫一點點,記錄一下,希望有所收穫。

這個題目利用了二分法,找出的是最後乙個滿足該條件的位置。該點往前的都滿足,找到第乙個num做的時候,sum必須要賦值為零才會得到正確的結果,好奇怪。

《演算法筆記》木棒切割問題P134

目前網路上大部分 均沒有考慮k 1時,最長長度l即為最長的木棒長度。這是因為,我們在將求解最後乙個滿足k k的問題轉換為求解第乙個滿足k給出n根木棒,長度均已知,現在希望通過切割它們來得到至少 k 段長度相等的木棒 長度必須是整數 問這些長度相等的木棒最長能有多長?如果長度相等的木棒的長度l越長,那...

貪心演算法 木棒問題

1 問題描述 現有n根木棒,已知他們的長度和重量。要用一部木工機一根一根的加工這些木棒。該機器在加工過程中需要一定的準備時間,是用於清洗機器,調整工具和模板的。輸入 輸入有多組測試例。輸入資料的第一行是測試例的個數t。每個測試例兩行 第一行是乙個整數n 1 n 5000 表示有多少根木棒 第二行包括...

演算法設計 木棒加工問題

演算法設計 木棒加工問題 現有n根木棒,已知它們的長度和重量。要用一部木工機一根一根地加工這些木棒。該機器在加工過程中需要一定的準備時間,是用於清洗機器,調整工具和模版的。木工機需要的準備時間如下 1 第一根木棒需要1min的準備時間 2 在加工了一根長為l 重為w的木棒之後,接著加工一根長為l l...