TopCoder
DPの問題。 dp[i]をi+1文字目までの最小値と定義する。あとは、今の文字と次の文字をそれぞれi,j番目として二重ループでdpの内容を更新していけばよい。 dp[j] = min(dp[j], dp[i]+(j-i)*(j-i)); // j > i ただし、更新できる条件はRGBの順序である必要があ…
[解法] A,Bの文字を後ろから操作していって,Bと同じ並びになっていないAの文字数が答えである.それが答えになる理由は,同じ並びになっている文字は順序を変える必要がなく,変える必要があるのは並びが異なる文字だけだからだ. A="DCABA" B="DACBA" た…