#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...