kurarrr's memooo

主に競プロ備忘録

2018-09-01から1ヶ月間の記事一覧

CODE FESTIVAL 2018 qual A C - 半分

問題 解法 関連した以下のような簡単な問題について考える. n個の0があり,K回だけ 0<=i < n なるa_i を+1 する操作を行う. 数列は何通りできるか. これは以下のようなO(NK) の DPで解くことができる.(普通にコンビネーションでも解ける) def : dp[i][j] := (…

Warshall-Floyd の本質ミス

ミス o rep(k,N) rep(i,N) rep(j,N) d[i][j] = d[j][i] = min(d[i][j],d[i][k]+d[k][j]); x rep(i,N) rep(j,N) rep(k,N) d[i][j] = d[j][i] = min(d[i][j],d[i][k]+d[k][j]); なぜか Warshall-Floydの証明を考えれば明らか. 証明 Warshall-Floydが何をしてい…

AGC 027 B - Garbage Collector

問題 解法 本番中の考察 何回原点に戻ってくるかでXの係数が変わるのでこの回数を決めうちして1回O(N)でやったら部分点取れそう 部分最適構造( [l,r) 間のごみの最適なとり方が x=l,..,r として [l,x),[x,r) の最適なとり方を各々やってきたうちコスト最小の…