ABC159

参加しました。

A~Dの四完でしたが、WAをめちゃくちゃ出してしまいました。

Eの水色diffが解けないのはまだ仕方ないのかなとも思いますが、Dまでを早く正確に解けるようにしたいですね…。

 

AtCoder Beginner Contest 159 - AtCoder

IDは saikatoto です。

 

A The Number of Even Pairs

二つの数の和が偶数になるのは、偶数と偶数、または奇数と奇数の組み合わせの時です。それぞれの数を求めて足し合わせるか、全体から偶数と奇数の組み合わせを引くかの二つの方法があり、私は前者で求めました。

この問題はいつもより難しいというか、高校の数学で組み合わせを勉強していなかったらかなり厳しかったんじゃないでしょうか。

 

B String Palindrome

めちゃくちゃWAを出しました。

全体、前半分、後ろ半分の三パターンで回分になっているかを判定する問題です。前半の一文字目と最後の文字と後半の一文字目と最後の文字が同じ文字になることに気が付いたので、一回の判定で確認しようと思いました。しかし、前半と後半の文字数がともに偶数であれば問題なかったのですが、奇数になる場合はそれぞれの真ん中について確認しないままになっていました。そのことに気が付かずにWAを出しました。結局全体のチェックを併せて行うことでAC出来ましたが、すでに30分くらいかかりました。そもそも前半分と全体をチェックしたら後ろ半分は確認しなくていいことにも気が付きましたが、コードを書き換えるのが面倒になりそのまま提出しました。

また、コンテスト終了後にSTLのreverseを使って回分判定が出来るというツイートを見て、とても勉強になりました。

 

C Mximum Volume

最大になるのは縦=横=高さになるときなので、Lを三等分して三乗するだけです。

二次の相加相乗平均は知っていたので、三次になっても同じだろうと思ったのですが、不安になって簡単に証明まで考えてから回答しました。証明と言っても式変形があっているかどうか程度ですが…。

A同様に高校数学の内容を知っているかどうかで印象が変わりそうな問題だと思います。

 

D Banned K

vectorで受け取り、mapで数字と個数を管理しました。ボールを取り除かずに同じ数のボールを二つ選び出す方法を数えておき、そのあとで、除いたボールの数字のもとの選びだす方法の数を引いて、除いた後のボールの選び出す方法の数を足すようにしました。データを使いまわすと楽そうだなとパッと思いついたのは成長を感じました。

 

 

Dまでを早く正確に、時々Eも解けるようにしていきたいです。

ここ数回ずっと不完全燃焼感があるのでなんとかしたいです。