RCC 2014 Warmup div2 D--状压dp

题意:给出n,m,b分别代表这货的朋友数,题目数和单个monitor的花费;

下来有2*n行,分别是做题要花的钱,monitor的个数还有朋友们能解决问题的个数;

再下来是能解决问题的编号;然你做完这些题这货所需要的最少的钱。


思路:显然,对monitor个数由小到大排序,因为前面需要的monitor比较少,如果能解决完问题的话花钱比较少,由少到多递推,注意m<=20,所以可以用二进制表示集合,第一次正是写状压dp。各种错误。注意集合i可以用1<<i表示,还有就是移位运算符优先级比较低,多用括号,|对应集合的并;  
用dp[i]表示解决i个问题需要的最少的钱数即可。


你可能感兴趣的:(RCC 2014 Warmup div2 D--状压dp)