試真題 新系統(tǒng) - 云服務(wù)安全策略最優(yōu)選擇 (JavaPyCC++JsGo))
云服務(wù)安全策略最優(yōu)選擇2026 華為OD機(jī)試真題 6月24日華為OD上機(jī)新系統(tǒng)考試真題 100 分題型點擊查看華為 OD 機(jī)試真題完整目錄2026最新華為OD機(jī)試新系統(tǒng)卷 雙機(jī)位C卷 真題題庫目錄全覆蓋題庫 逐點算法考點詳解題目描述在云服務(wù)中有 n 個安全策略編號 1 到 n。每個策略有一個重要度權(quán)重正整數(shù)。某些策略對之間互斥不能同時啟用?,F(xiàn)在需要為某個實例恰好選擇k個策略要求選中的策略之間沒有互斥關(guān)系即構(gòu)成一個獨立集在滿足條件1的所有大小為 k 的策略組合中使得選中策略的權(quán)重之和最大權(quán)重之和就是重要度權(quán)重數(shù)組中的權(quán)重的和。請返回所有滿足上述條件的最優(yōu)策略組合即權(quán)重和最大的所有合法組合。2026 華為OD機(jī)試真題 6月24日華為OD上機(jī)新系統(tǒng)考試真題 100 分題型輸入描述輸入為單行格式為n,k,[weights],[[conflicts]]n策略總數(shù)k需要選擇的策略數(shù)量weights長度為 n 的整數(shù)數(shù)組表示各策略權(quán)重conflicts二維整數(shù)數(shù)組每個元素為 [a, b]表示策略 a 和 b 互斥無向無重復(fù)邊輸出描述每個組合內(nèi)的策略編號按升序排列所有組合按字典序排列將每個組合視為一個數(shù)字序列如果沒有合法組合例如不存在大小為 k 的獨立集則返回空數(shù)組 []。注意如果沒有大小為 k 的獨立集則返回 []輸入格式單行輸入n,k,[weights],[[conflicts]]數(shù)據(jù)規(guī)模1≤n≤250≤k≤n1≤ weights[i] ≤10000≤ conflicts.length ≤n(n?1)/2示例1輸入4,2,[5,1,3,4],[[1,2],[2,3]]輸出[[1,4]]說明組合 [1,4] 權(quán)重和為 549是最大合法值。示例2輸入5,3,[3,4,3,4,3],[[1,3],[2,4],[3,5]]輸出[[1,2,5],[1,4,5]]說明合法組合 [1,2,5] 和 [1,4,5] 權(quán)重和均為 10是最大值。解題思路核心思想最大權(quán)重獨立集問題核心思想位掩碼枚舉n≤25枚舉所有可能的 k 元素組合2^n 枚舉沖突檢測使用位掩碼表示沖突關(guān)系高效檢測組合是否合法最優(yōu)選擇遍歷所有合法組合記錄最大權(quán)重和收集所有達(dá)到最大權(quán)重的組合算法步驟構(gòu)建沖突掩碼數(shù)組conflict_mask[i]表示與策略 i1 沖突的所有節(jié)點枚舉所有大小為 k 的組合位掩碼對每個組合檢查是否為獨立集遍歷掩碼中的每個選中節(jié)點檢查沖突掩碼計算合法組合的權(quán)重和記錄最大值返回所有權(quán)重和等于最大值的組合復(fù)雜度分析時間復(fù)雜度O(2^n * n)n≤25 時可接受空間復(fù)雜度O(n)存