A | B | C | D | E | F |
---|---|---|---|---|---|
水 | 青 | 橙 | 赤 | 赤 | 赤 |
1348 | 1861 | 2578 | 2937 | 3101 | 4612 |
※コンテスト終了時順位、実行速度は同言語内のみ比較
2時間かけて1問も解けず
とはいえそれを悔しいなどと言えるレベルでもなし
水diffのA問題(300点)だけなんとか自力AC
(周知の事だが、配点は難易度の基準ではない)
計算量を過大に見積もって無理な高速化に挑んだ挙句、手に負えなくなって撤退
単純な実装に立ち戻って速度を評価したところ、全然間に合ってしまい脱力するなど
ただこの単純な実装というのが結構なショートコードだったようで、その時点での最短1位を獲得した
そしてこれを短縮した改訂版が、コードゴルフ上級者の改変元(たたき台)として採用されたようだ
十分に無駄のない品質と評価されたことはとても嬉しい
だがそれ以上に、自分のコードを元を修正してくれるので、ゴルフの添削となっていて大変ありがたい
参考になる書き方があったり、詰めが甘い部分が見えたりして実に勉強になる
-i-1 == ~i
つい忘れがちだけど、積極的に使っていきたい
標準入力っぽいの($<, ARGF)はEnumerable
grep, map, sumなどを使って行単位処理できる
配列のi番目以降が欲しいときの書き方
1. Ary[i...Ary.size]
2. Ary[i..-1]
3. Ary[i,MAX]
4. Ary[i..]
Rangeの終端を省略した4番は目から鱗だった
(0..).each みたいなのが書ける時点で気付くべきだったかもしれない
A | B | C | D | E | F |
---|---|---|---|---|---|
灰 | 灰 | 緑 | 茶 | 緑 | 水 |
0000 | 0016 | 0877 | 0411 | 1158 | 1575 |
※コンテスト終了時順位、実行速度は同言語内のみ比較
爆死回
わかっていたことだが、B,Cあたりで引っかかって、かつD,Eでリカバリできないと大爆死する
今回はCで頭を抱えていた折に仕事の連絡が入り10分程ロスした
だが時間以上に集中力と熱意を削がれてしまい、Cを飛ばすか否かで判断を誤ってそのまま終了
結局Cは11分超過でAC
電話で水を差されなければあるいは間に合ったやも……
難易度評価の通り、後続のDの方が簡単で、こちらは30分弱
比較するとお世辞にも褒められた速さではないが、まぁ一応解けはする
さっさとCに見切りをつけてDをやれば……4,50分くらいで3完、そんでPerf700くらいだったかもね
E問題、結構考えたが疲れた頭ではどうにもならず
「二分探」、「Pairs」のキーワードを拾ってから再挑戦したら、さっくり解けた
これは制約が10^9なところでピンと来なくちゃね
解いてみれば割と単純どころか、回答が僅か2行なんですけど……
現時点でも2nd shortestってどゆこと?
そんな風に解けるくらいなら、もう少しスコア伸びたってよさそうなものだがなー
それと今回、F問題の難易度がすごく低いみたいだ
F問初攻略目指してやってみるかな?
A | B | C | D | E | F |
---|---|---|---|---|---|
無 | 灰 | 灰 | 茶 | 黄 | 黄 |
---- | 0022 | 0135 | 0604 | 2306 | 2004 |
※コンテスト終了時順位、実行速度は同言語内のみ比較
今回もさらに遅くなってA,Bで13分超え、もしや精進しまくらないと5分切れないんじゃないか
そのペースからするとCはまだ頑張ったほうか
しかしDに45分というのも失敗した
問題文に惑わされ、購入数別のDPが必要になるのかとしばらく悩んでしまった
最初から全振りの売買でよいと気づけば20分で解けたはず
それならパフォ1100くらいいけたなぁ
毎度のことながら惜しい……
A | B | C | D | E | F |
---|---|---|---|---|---|
灰 | 灰 | 灰 | 水 | 黄 | 赤 |
0000 | 0003 | 0293 | 1294 | 2128 | 2825 |
※コンテスト終了時順位、実行速度は同言語内のみ比較
A,Bで10分超も遅すぎだが、このCに25分がダメダメ
たかだか[1..99]の3重ループ、愚直に書いて10行程度、10分もあれば済んだはず
ちょっと色気を出して組み合わせ計算で高速化しようとか、要らんことをするものではないな
もしサッサと出していればパフォ1000か……もったいない
Dはメモ化再帰と初回popcount定数化までやったが届かず
popcountが遅いのか思ったが、そうではなく初回Xn数列生成でTLEしていた
それを確かめるのに後段の再起を削った回答を出して処理時間を見たのだけど、果たしてコンテスト中だったらWA前提の捨て回答を出す勇気があっただろうか?
時間内に解けないとなればなりふり構わないが、まだ余裕がある時に、どの時点で試しに行くかは難しそうだな
ところで巷の呟きで見たpowでmodを取る方法も十分に高速なようだ
わざわざバイナリ法みたいなのを実装しなくてもよさそう
A | B | C | D | E | F |
---|---|---|---|---|---|
灰 | 灰 | 茶 | 茶 | 青 | 青 |
0000 | 0005 | 0600 | 0673 | 1673 | 1806 |
※コンテスト終了時順位、実行速度は同言語内のみ比較
まさかのワースト、レート下落幅記録更新
ちょっと酷すぎて草も生えないぞ
Eまでどれも解ける技能はあるのに、つまらない勘違いやら何やらで何もかも落とす
ショックのあまり一晩寝込んだ
A - Payment
千円札で支払ったお釣りを求める問題に、何を勘違いしたか硬貨の枚数を回答してしまう
今日のA問題はやけに難しいとか言い出すアホ
B - Judge Status Summary
やるだけ、遅すぎ
C - Judge Status Summary
ははん、全探索ね、combinationに丸投げしよっ……サンプル通らず
bit全探索程度、概要を聞いただけで完全に理解したわ、という過信が崩れ去る
なぜうまくいかないのかわからないまま時間を溶かし、諦めて次へ
ちなみに何が悪かったかというと入力値01の取り違えで、これを10に改めるだけで解決
bitmask自前実装に切り替えて入力値の扱いを反転させるまで、全く気付かず
D - Chat in a Circle
やった、これ超カンタン、と自信満々で出したらWA
ここまでミスしまくりということもあり、完全に自信喪失してしまう
ちゃんと紙に書き出してみれば数分で気づくような誤りだった
E - Multiplication 4
問題文3行! これも簡単そう!! もうこっちに賭けるしか!!!
という甘い罠に嵌って場合分け地獄を捌けず終了
アルゴリズム的に難しいなんてことは全くないんだけどね
unratedなAGC1完を含む直近8回パフォーマンスで、上位5回の平均は1000なのに、下位3回は平均200
ちょっと極端すぎやしないか??
なんでこうしょっちゅう大爆死するんだろう
A | B | C | D | E | F |
---|---|---|---|---|---|
灰 | 灰 | 緑 | 緑 | 青 | 黄 |
0000 | 0004 | 0878 | 0945 | 1878 | 2159 |
※コンテスト終了時順位、実行速度は同言語内のみ比較
Cまでに時間食い過ぎ
でも他の人も苦労してたみたいで結果はまずまず
この問題は累積和+二分探索の解法もあるという
これは解説記事を探してみよう
Dは正しく方針を立てたがちゃんと数式に落とし込めず
時間をおいて、落ち着いてチャレンジしたら15分でACした
ちゃんとパターンを書き出して考えたら解けたはず
ついでにこの回答は現時点でもショートコード2緑パフォ4連続!! 位
だった、惜しい
こういう取りこぼしは無くしていかないとね
それでも緑パフォ4連継続中!! 色変まで頑張れ!!
A | B | C | D | E | F |
---|---|---|---|---|---|
灰 | 灰 | 茶 | 茶 | 茶 | 青 |
0000 | 0005 | 0466 | 0422 | 0734 | 1721 |
令和ABCで最も簡単なE問題
Cの方がよほど面倒くさい
完全に早解きの回なので、上を目指すなら30分くらい縮めないとだな
とはいえ、ここ4回の平均パフォが4桁になってついにレート更新できたのは良かった
その直前の4回は絶不調の150,300,0完,0完で、一時は本当にもう止めようかと思ったくらい
なんとかこのまま緑を目指したいところだね