AGC-A 19-30
これでAGC-A終了。
緑化進行中。
来週再来週末と連続してAGCがあるらしい。日程的にどちらもちょっと参加できないかも。
今週はどうなるんだろうか。また直前にABCがアナウンスされるのだろうか。
旅行中なので、移動時間にipadで考察だけメモ→落ち着いてから実装という流れを取ったが、問題文を勘違いしていたケースがちらほら。あと、まだint溢れとかよくやらかす。
019
2l引けるまで、最小金額で作って引き、、、という貪欲法
020
最初に後退する必要が生じた方が追い詰められて負ける
A-Bの偶奇
021
最初に9でない値になる桁と出会った時に、上位を一つ減らして残り全て9
最上位が9の場合、下位が全て9ならNそのもの、それ以外なら最上位減らして残り9
stringでchar to intミスってWA出した
022
sが26文字でない限り、使われていない文字のうちで辞書順最小を付け足せばいい。
26文字なら、next_permutationすればいい。
falseが返ってきたら-1を出力
入力例4のパターンがある。どうするか。
next_permuationしたものが元とずれるまで出力すればいい。
023
累積和を計算した時、和が0の部分列が存在すると、累積和の配列に同じ値が現れる。
それらを拾ってくれば答えは出るが、O(N^2)
mapを使って累積和の値を記録しておき、各値について登場回数をnとしてnC2を出して和を取ればいい。
200点にしては難しい。
累積和のint溢れでWA出した。
024
差は、A-B,B-A,A-Bを繰り返す.
あるkでの値は二つ前*2+一つ前で求まるので、これでok
025
A, Bの値について全探索
026
左から逐次的に。
使用する色の種類は関係ないので、左隣と同じなら変えるでok
変更先は確実に重複のない値ならなんでも
027
ソートして小さい方から。
ちょうど配らないといけないあたりで微調整
028
最小公倍数っぽい
N、Mが互いに素なら自明
互いに素でないなら、最小公倍数で条件を満たせるか否か
具体的にstringを作ろうとすると長すぎてMLEspするのでmapで。
->WA, またint溢れミス。
029
要するに、隣接するW,BをswapしてWを左に寄せていく操作。
最終状態は必ず、WWW...BBBなので、Wを寄せるのにかかるステップ数。
左からi番目のWを配列の左からi番目の位置に移すのにかかるステップ数の和。
030
CBCB..と食べて、Bが無くなったらACAC..でAがなくなったら終了
min(C, B)=CならB+C
min(C, B)=Bなら2B+min(A,C-B)
一枚だけなら食べても大丈夫なので微修正。