lcp 12. 小張刷題計畫
這裡一開始,是從t=0開始慢慢往上加,最後超時。
如果用二分法:計算t最大值,取中間值 ,計算m,如果m《規定天數,說明這個t時間不夠,就取右半邊。m>=規定天數,說明t偏大了,取左半邊。取到合適t了,但不一定是最小的。下次邊界值保留這個,多次迴圈看看。~
t最大值:花費時間陣列累加
int mintime(int* time, int timesize, int m)
int max_t = 0;
// 一共有幾天
int day_count = m;
// 每天最短做題時間
int day_t = 1;
// 可以求助小楊的次數,最多就是天數,而且一天一次可以保證時間最短。
int yang_count = timesize;
int i, j;
// 一天內能做的題,時間總和time[i]) ? day_max : time[i];
day_sum += time[i];
//printf("time[%d] = %d\n",i,time[i]);
}// 不滿足條件了出來,說明一天在當前dat_t,最多做這幾題,少一天。
day_count--;
//printf("day_count=%d\n",day_count);
if (day_count == 0 && (i != timesize - 1 || (day_sum - day_max) > t_mid))
if (tag)
}if (t_left >= t_right)
}return min_t;
}
C 二分法查詢,遞迴二分法
用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...
python二分法查詢 Python 二分法查詢
二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...
二分法查詢
前幾天csdn上說只有10 程式設計師能寫出正確的二分法查詢 so.我在看過二分法查詢方法後寫了乙個 一次測試成功.範圍 需要次數 10 4 100 7 1000 10 10000 14 100000 17 1000000 20 除了對特別小的陣列外,二分法查詢表現是非常優秀的.每次對範圍加倍可以建...