題目描述
你是一名記者,現在要求你去採訪n 個國家的領導人。採訪每乙個國家的領導人需要消耗你的時間為t[i],但你可以收穫價值為v[i]的資訊,然後就能寫成報道……
然而尷尬的是,有一些國家之間的關係屬於敵對關係,因此如果乙個國家的領導人知道你採訪了他的敵對國家領導人,那麼他就會拒絕你的採訪。總之,你採訪的國家中,任意選出一對國家都不能構成敵對關係,你才能夠完成你的採訪,否則某些部分就要落空。
你的boss他給了你乙個時間限制t,如果你在時間限制內沒有完成採訪任務,你就會被炒魷魚。當然,他希望你在時間限制t 內完成的採訪累計起來的價值總和最大。
輸入
第一行有三個數,第乙個數為時間限制t,第二個數為國家數量n,第三個數為國家之間的敵對組數m。
接下來n 行,每行兩個數,第乙個數為t[i],第二個數為v[i]。
接下來m 行,每行有m[i]+1 個數,首先輸入m[i],表示這一組中一共有多少國家是敵對關係,之後輸入m[i]個數,表示這m[i]個國家兩兩之間為敵對關係(一組敵對關係的國家中,每兩個國家都構成敵對關係,比如這一組是1,3,4,那麼1 和3,1 和4,3 和4 都構成敵對關係),若m[i] = 1,那麼這個國家與其他國家都不構成敵對關係。
輸出
乙個整數,表示最大價值v。
樣例輸入
10 5 2
5 10
7 96 3
1 13
8 13 1 3 4
2 2 5
樣例輸出
資料範圍限制
60%的資料:m=1;
100%的資料:0≤t≤50000,0≤n≤500,1≤m≤10,n=∑m[i],即m[1]+m[2]+…=n,且敵對關係中每個國家編號只會出現一次。
正解
分組揹包模板
ac**
#include
using
namespace std;
int t,n,m,o,a,w[
505]
,v[505
],f[15]
[50005];
intmain()
} cout<[t];
return0;
}
2020.03.11模擬賽15(第一題)
2020.03.11模擬賽15(第二題)
2020.03.11模擬賽15(第三題)
2020.03.11模擬賽15(第四題)
2020.03.11模擬賽15(總結)
2020 03 11模擬賽15(總結)
t1 比賽時出錯,遞迴喝水出現問題,樣例過了,最後8.3分,後來找到遞迴的問題,改過來成功ac t2比賽用了二分,開始樣例不對,發現時二分的問題,把迴圈中的判斷改了一下就對了,最後ac t3不會分組揹包,比賽打了01揹包騙分,最後得了30分,後來知道了正解是分組揹包,上網學習了分組揹包,套用模板就a...
2020 03 11模擬賽15(第四題)
題目描述 farmer john 最近正在修建乙個巨大的包含 n n 個房間的牲口棚,這些房間從 1,1 標號到 n,n 由於某些原因而害怕黑暗,貝茜這頭奶牛想要盡可能地開更多房間的燈。貝茜從房間 1,1 出發,這個房間是唯一乙個一開始就亮著的房間。在一些房間中,她會找到一些電燈開關,這些開關她可以...
2020 02 13普及C組模擬賽6(第三題)
題目描述 題目 農夫約翰最近正在將他的柵欄粉刷一下 這裡所有的柵欄都是在一條直線上的 他是這樣來粉刷的 他從位置0出發,然後執行n條指令,例如,指令可以是 10 l 表示約翰從當前的位置向左移動10個單位的距離,並且粉刷移動過程中遇到的柵欄,又或者是 15 r 表示約翰從當前的位置向右移動15個單位...