題目 1587:
藍橋杯算法訓練VIP-Buying Sets
時間限制: 2s
內(nèi)存限制: 192MB 提交: 173 解決: 81
題目描述
給定n個集合, 要求選出其中某些集合, 使得這些集合的并集的勢, 等于選出的集合的數(shù)目.
對于任意的k(1< =k< =n), 滿從中選出任意k個集合, 這k個集合的并集的勢一定大于等于k.
每個集合有一個權(quán)值, 每個選擇方案的代價是所選的集合的權(quán)值的和.
請輸出代價最小的選擇方案的代價.
當然, 不選擇任何一個集合是一個可行的方案(權(quán)值和為0), 但不一定最優(yōu)(權(quán)值和可以為負).
輸入格式
第一行一個正整數(shù)n(1< =n< =300), 為集合個數(shù).
在接下來n行中, 第i行描述第i個集合:
首先給出一個正整數(shù)m[i]為該集合的勢, 顯然1< =m[i]< =n.
接下來m[i]個在1到n之間的整數(shù), 表示該集合中的元素.
最后一行n個整數(shù), 為每個集合的權(quán)值, 絕對值不超過1e6.
輸出格式
僅一個整數(shù), 為代價最小的選擇方案的代價.
提示
零基礎(chǔ)同學可以先學習
視頻課程,包含C/C++、Python、百練、藍橋杯輔導、算法數(shù)據(jù)結(jié)構(gòu)等課程,提供視頻講解以及配套習題,還有老師答疑,
點擊這里了解課程詳情