題目:http://www.nocow.cn/index.php/translate:usaco/job
很有意思的一道題目,乙個產品要經過a,b兩道工序,a系列機器加工時間為a1,a2,a3,a4……,b系列工序的處理時間為b1,b2,b3,……要求a,b系列處理完這些產品(n)時間最短。
第一道工序很簡單,使用貪心演算法就可以了。即,把產品分配到生產完這個產品的時間最短的機器上,即min(use[i]+a[i]),use[i]為ai機器已經使用的時間,a[i]表示ai生產乙個產品需要的時間。
第二道工序要基於第一道工序的基礎上。確實迷惑了我很久。
可以把n個產品在a上的完成時間表示為 na[i]:第i個產品在a機器上的完成時間。在不考慮a工序影響的情況下,n個產品在b工序的生產時間為nb[i]。那麼我們只要使得(na[i] + nb[j])的最大值最小就可以了。也就是使na的最大值+nb的最小值。兩個陣列交叉相加。證明過程省略。
**如下:
執行結果如下:
演算法系列之三十二 1的數目
題目 for example given n 13,return 6,because digit 1 occurred in the following numbers 1,10,11,12,13.思路一 這個問題看上去並不是乙個困難的問題,因為不需要太多的思考,我想大家都能找到乙個最簡單的方法來計...
USACO演算法系列十四 fence
題目 http www.nocow.cn index.php translate usaco fence 看完這道題目的第一想法就是,遍歷所有的邊,而且每一條邊的經過次數只能一次。是離散數學裡面的圖論的尤拉通路問題,在這裡充分體現了數學的重要性。定理 無向圖g有尤拉通路的充分必要條件是g為連通圖,並...
USACO演算法系列十六 續
題目 http www.nocow.cn index.php translate usaco camelot 昨天晚上寫了乙個晚上的這道題,各種邊界條件和意外情況。看著自己寫的600多行 和一連串的test ok.心裡特別有成就感,但是看了別人寫的 80幾行,就發現了實力的差距。先說說自己的想法吧,...