HDU 3177 Crixalis's Equipment貪欲

409 ワード

この問題の貪欲な順序は考えにくい.
int cmp(const void * a,const void * b){
    struct point * aa=(struct point * )a;
    struct point * bb=(struct point * )b;
	return bb->c-aa->c;//return aa->v+bb->needextra-(bb->v+aa->needextra);//     
}

aを置いてbを置く瞬間の最大体積はaa->v+bb->needextraで、
bを置いてからaを置く瞬間の最大体積はbb->v+aa->needextraで、
この2つの中で小さいものを先に置くべきです.