Algorithm Design By Dynamic Programming Questions