greedy
dp
add