
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《友好的生物》解題
省蕪湖市第一中學(xué)
朱晨光
【問題描述】
給定K個非負(fù)常數(shù)Ci以及N個生物各自的K個屬性。定義任兩個生物的友
好程度
效果也并不太好。因此,
須想出一個優(yōu)秀的算法來降低時間復(fù)雜度。
注意到題目中有一個條件很特別,就是K≤5.前面的枚舉算法只是關(guān)注N,而忽略了K。那么,如此小的K是否可以作為解題的突破口呢?首先,讓
來看一個此問題的簡化版——即讓第K個屬性的差別也加到友好程度中,而不是減去。
因為
Ci非負(fù),所以有Ci*|Ai,t-Bi,t|=|
i,t-Ci*Bi,t|.
因此,為了方便處理,在
處理數(shù)據(jù)時不妨讓每個生物的每個屬性都乘以對應(yīng)的常數(shù)。這樣問題就變得更加
簡單了:給定N*K個數(shù)
A1,1,A1,2,A1,3,……,A1,K,A2,1,A2,2,……AN,1,AN,2,……,
.
試求一對i,j(i≠j),使得
呢?因為
希望整個式子的值盡量大,于是|Ai,k-Aj,k|就要盡量小,但是上面的
枚舉符號是基于|a-b|=max(a-b,b-a),如果單純地對于第k維也這么做,就會把一
個
最大值當(dāng)成結(jié)果輸出(如:-|3-5|,會算成-3+5=2,與實際不符)。那么,應(yīng)
該如何解決這個問題呢?
與其思考如何改造第k維,使得上面的算法依然成立,倒不如將第k維提出來單獨考慮。具體地說,就是把所有生物按照第k維的值從小到大排序。這樣就有:
Ai,k-Aj,k
i<j
-|Ai,k-Aj,k|=
Aj,k-Ai,k
j<i
由于
可以在枚舉時只考慮i<j的情況,所以只要將每個Sj都減去Aj,k就
可以了。剩下的操作依然是選擇一個最大的Sj.這個算法與前文的算法十分類似,
不同的地方僅在于需要先按照第k維的值從小到大排序,再修改流程如下:
Sj的值即可。
這個算法的時間復(fù)雜度為O(NlogN+2k-1N)(注意這里是2k-1,而并非2k,因為第k維的符號不需要枚舉),對于解決這道題目已經(jīng)綽綽有余了。
【更進(jìn)一步的探討】
這個算法的時間復(fù)雜度仍含有指數(shù)2k-1,能否找到真正意義上的多項式算法,使得對于較大的k值也能輕松解決,值得進(jìn)一步的探討。
【總結(jié)】
解決這道題目的關(guān)鍵在于選擇K為突破口并利用絕對值符號的一些性質(zhì),對第k維的處理也很重要??偟膩碚f,解決這類題目的要領(lǐng)在于攻其軟肋,開拓
思路,從而迅速找到方便快捷的解題
。
【附錄】
O(NlogN+2k-1N)算法的程序:species.cpp
1、將各種生物按照第k維的值從小到大排序
2、枚舉前(k-1)維對應(yīng)的式子的符號
3、對于每個生物,計算S值為前(k-1)維的屬性乘以對應(yīng)的符號-第k
維的值
4、掃描一遍,得到Ti=max{Sj|i<=j<=N},∏i=Ti所選擇的j
5、枚舉i(1<=i<N),tempresult=第i個生物前(k-1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 取土合同范本
- 友邦房產(chǎn)賣房合同范例
- 廠房燈安裝合同范本
- 醫(yī)院建設(shè)合作合同范本
- 單位招人合同范本
- 《表里的生物》教學(xué)反思
- 農(nóng)村安裝果園合同范本
- app轉(zhuǎn)讓合同范本
- 課程錄制合同范本
- 變頻器維修合同范例
- 部編人教版四年級下冊道德與法治 第6課 有多少浪費本可避免 教學(xué)課件PPT
- 精神衛(wèi)生醫(yī)聯(lián)體服務(wù)平臺
- 2023年北京春季流感中醫(yī)藥防治方案(試行)、春季流感治療相關(guān)中成藥推薦目錄
- 重慶市渝北區(qū)大灣鎮(zhèn)招錄村綜合服務(wù)專干模擬檢測試卷【共500題含答案解析】
- GB/T 5915-1993仔豬、生長肥育豬配合飼料
- 壓花藝術(shù)課件
- DB32T4220-2022消防設(shè)施物聯(lián)網(wǎng)系統(tǒng)技術(shù)規(guī)范-(高清版)
- (新版)老年人健康管理理論考試題庫(含答案)
- 感應(yīng)加熱操作規(guī)程
- 煤氣設(shè)施安全檢查表(修訂)
- XX省血液調(diào)配管理辦法
評論
0/150
提交評論