题目链接:1005. Stone Pile @ Timus Online Judge
参考链接:面试题:把数组中的数分为两组,使得两组和相差最小 timus 1005. Stone Pile 面试题:把数组中的数分为两组,使得两组和相差最小 timus 1005. Stone Pile_Pegasus (http://ningning.today)-CSDN博客
这个转换成01背包是我没想到的!
不得不说这个思路是怎么想到的好厉害子
问题等价于-> 背包容量为sum/2 物品价值就是物品重量 求在这个背包容量下物品重量的最大值
这样就能求出一组的选择使得选择的物品重量尽量接近sum/2 ,剩下一组的物品重量也就可以得到,就得到的两组和的差。
代码:
//题目链接
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n,sum=0;
int w[30];
cin>>n;
for(int i&