题意:有n个硬币,面值不同,求能组成K的方案中,每个方案的硬币可以凑成那些答案. 例如, K=5 面值={1,1,1,2,3} K={1,1,1,2} K={1,1,3} K={2,3} 那么答案是 {1,1,1,2}能组成的面值∪{1,1,3}组成的面值∪{2,3}组成的面值. 做法: 考虑如果A在答案中,那么K-A一定也在答案中. 也就是说,如果A和K-A可以用不相交的硬币子集构成,那么他们都在答案中. 用dp[i][j]表示i和j是否可以同时出现在答案中. 因为每个硬币只能用一次,dp[i…