設為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 7895|回復: 9
打印 上一主題 下一主題

[高4]一個算法問題.

[復制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2003-4-18 18:00:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
若由兩個人 a,b 承擔 n 個作業(yè)的任務.設 a 處理第 i 個作業(yè)需時 ai, b 需時 bi.
對于某些 i ,有 ai>=bi,而 對于某些 j (i<>j),又有 aj<bj
規(guī)定一個人不可能同時處理兩個任務,一個任務也不可能分開由兩個人完成.
請設計一個算法 , 求 a,b 處理 n 的最短時間及方法.

此題目抄自 2003 年第14期電腦報.

數(shù)據(jù)庫設計時,架構(gòu)思路最重要.
同樣的,編程時算法最重要,請各位高手出招!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2003-5-31 21:02:00 | 只看該作者
有沒規(guī)定要順次做?
或規(guī)定要同時完成,
是要合計時間最短,
還是要兩人從開始到兩人都結(jié)束的時間最短?
3#
發(fā)表于 2004-6-15 20:56:00 | 只看該作者
1.數(shù)據(jù)結(jié)構(gòu)

任務ID        a用時間      b用時間      a和b用時間差(a-b)

  1                a(i)              b(i)             a(i)-b(i)

............................

2.排序,按照 "a和b用時間差"從大到小排序。

3.從兩頭循環(huán)累加,任務1開始的循環(huán)累加到變量tb,從任務n開始的循環(huán)累加到變量ta

循環(huán)中保證ta,tb相差最小。分光所有任務為止。

  
4#
發(fā)表于 2005-6-20 18:17:00 | 只看該作者
由a在所有任務中取任意0至n個的組合,則余下的由b完成,遍歷所有可能的組合,求出兩人相加的時間為最小即可。其算法與下面貼子相似,只是判斷的條件有所不同:http://ctxi.cn/forum.php?mod=viewthread&tid=28439計算機算法通常就是進行循環(huán)遍歷所有的可能組合或排列,進行比較。

點擊這里給我發(fā)消息

5#
發(fā)表于 2005-6-27 17:41:00 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
6#
發(fā)表于 2005-8-3 18:48:00 | 只看該作者
以下是引用sunjy在2004-6-15 12:56:00的發(fā)言:



1.數(shù)據(jù)結(jié)構(gòu)

任務ID        a用時間      b用時間      a和b用時間差(a-b)

  1                a(i)              b(i)             a(i)-b(i)

............................

2.排序,按照 "a和b用時間差"從大到小排序。

3.從兩頭循環(huán)累加,任務1開始的循環(huán)累加到變量tb,從任務n開始的循環(huán)累加到變量ta

循環(huán)中保證ta,tb相差最小。分光所有任務為止。

  





這個算法應該是效率最高的。
7#
發(fā)表于 2005-8-3 18:50:00 | 只看該作者
以下是引用Trynew在2005-6-20 10:17:00的發(fā)言:



由a在所有任務中取任意0至n個的組合,則余下的由b完成,遍歷所有可能的組合,求出兩人相加的時間為最小即可。

其算法與下面貼子相似,只是判斷的條件有所不同:

http://ctxi.cn/forum.php?mod=viewthread&tid=28439

計算機算法通常就是進行循環(huán)遍歷所有的可能組合或排列,進行比較。





如果用遍歷,這就不是一道算法題目,而是一個簡單的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)了。很多情況下,用遍歷的效率會低得嚇人,比方說這個例子中,如果N>1000的,用遍歷幾乎不可能在1個小時內(nèi)完成計算。因此計算機時代還是需要我們優(yōu)化算法。ACM精神只有在特定的情況下才適用。
8#
發(fā)表于 2006-3-30 04:52:00 | 只看該作者
[em06]
9#
發(fā)表于 2008-5-17 00:36:31 | 只看該作者
好好學習,天天向上。
10#
發(fā)表于 2008-10-20 15:22:27 | 只看該作者
it 's asp
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2024-10-23 06:25 , Processed in 0.158249 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表