2021/5/1(土)

16bitセンセーション1巻を読んだ。技術的なネタは結構好きなので面白がって読めたけど美少女ゲームの話題はあんまりついていくことが出来なかった。いっぺんどれかしらやってみれば世界観も変わるのかな。ADVの類の文化は本当に全然触れたことが無い。


本当に頭を休めたくてぐったりしていた結果、大して休めた気もしないまま夜になってしまった。ここ最近そんなんばっかり。頭はともかく体はある程度動かしたうえで休む方が正しい気がしてきた。最近筋トレもやっていない。

頭の休め方が本当に分からない。常に何かしら考えている。それで何かなるかと言ったらそうでもない気がするので、ずっと手を動かしていた方がいいかもしれない。


サークルでの開発でPHPをガリガリ書いていた。PHPは個人的にあまり好きな言語ではないが、何かしらの成果物が生成できるのは使った道具によらず嬉しい。

PHPは様々な部分がゆるゆるなので、安心感は無いが、何かしらのブツをどうにか生成することにかけては優れている。


MojaCoderでMagurofly Beginner Contest 001に出た。あんまり深い理由はないけど、たまにはプロコンにライブラリ無しで挑んでみた。

Aは愚直にやれば通るけど、最大値の設定が少し自明ではない気がする。$\max n_i$の3乗で大丈夫なはず。

Bは現在の年を$Y$、高橋君の生まれた年を$Y_T$とすると、$Y=X \oplus A$と出せて、$A=C \& T \Rightarrow A=C \& (Y \oplus Y_T)$となるので、$Y_T$を完全にビットごとに見れることが分かる。ので、出来るだけ0にして1にしないと辛そうなら1にする。こういうビット系の問題苦手なので得意になりたい。ビットごとに独立して見れることにはARC116-Dでも気付くのに遅れていた。

Dは2次元いもす法。いもす法は競プロを始めた頃に分かりやすく「あったまいい~」と思ったアルゴリズムなので好き。

Eはそのままのグラフと逆辺のグラフでそれぞれ各地点への距離を計算して足せばOK。ダイクストラそらで書けるか心配なので書いてみたけど、一発完動したので感動した。

CFはCは通せたけどFは通せず。Tが小さければN,Mも小さめなことと併せて余裕で全時間シミュレートできるのだけど、Fの制約だとTがバカでかくなるので多分ループ検出とか頑張る必要がある。厳しい。Nが相変わらず小さいのでワーシャルフロイドとか通るから使うのかな?


ZONeエナジー プログラミングコンテストに出た。ストーリーのノリが良い。

Aは各substrでとって比較した。「レーティングを上げる機会を奪われた怒り」のくだりで爆笑した。こっちの文化のネタぶっこんでくるのは好感度高いぜ。

Bは傾きをchmin。冷静に競プロフレンズがwriterにいないことを確認して、浮動小数点を使った。

Cは見るからにチームの総合力を決め打つにぶたんだが、判定関数の中身に迷った。単なる最小値の最大化とかなら悩む要素は無いのだが、最大値の最小値の最大化というなかなか面倒な相手だった。あと目が節穴なので「選ぶのは3人」と言うルールに気付くのが遅れた。

3人のメンバーと5つの能力の内誰がどの能力を担当するかというのを全探索して、条件に合うメンバーが揃えられるかを判定した。計算量は能力値の種類を $M$ 、採用する人数を $K$ 、二分探索の上限を $X$ として$O(K^M KMN \log X)$ のはず?もっといいやり方あった気がする。

Dは反転の回数をカウントしてその偶奇で末尾or先頭に付ける典型。問題は2連続する文字を除くところで、ここでちょっと悩んでしまった。最終的になんとかstackが浮かんでAC。発想は単純なのでもっと速く思いつきたかったな。ところで、これは除く対象が2文字のパターンだから実装楽だけど3文字とかのパターンになると若干面倒くさそう。

Eは得意なやつ。$(r,c)\to(r-i,c):コスト1+i$という面倒くさそうなルールがあるけど、補助辺補助頂点見出してハイAC!まあ、この手の発想は青コーダーならもう出来て当たり前でしょみたいに言われかねない気もするけど、好きなものは好きなのでテンションは上がる。ちなみに愚直でも通るらしい。えー。

ちなみにいつも通りRとCの文字にブチ切れてHとWに変えようとしていつも通り本質ではない添え字で迷いまくったので、名前に惑わされないようになればそれが最善ではあるのだけど、そろそろRとCをそのまま認識できるようになりたい気もする。

Fは解けず。XORの性質上異なる$A_i$は必ずユニークに$N$箇所、それもN個の頂点から各1箇所づつ移動可能性を潰してくるというあたりには気付けた。なので$M=N-1$ならば間違いなく不可能、また$N>2$ならば$M=N-2$でも不可能ということは分かった。そこから先が無理。なんか基底とか使うらしい?XOR線形代数ネタは本番で解けたこと多分1回もないや。ZONeエナジー飲んでる宇宙人とfoobarFizzBuzzでサイコーに笑った。感動回じゃん。

全体的に割と好きなセットだし、ストーリーも面白かったので良い回だった。Highestも更新!嬉しい!欲を言えば、もうちょっと早く解けていればレート1800に乗せれてたのにという気持ちがある。でも次1803以上取れば1800に乗るっぽいので、念願の1級入りは目の前。やるぞ~。

みんなが通してる水diff青diffとかが通せないみたいなことはそこまで多くないので(ほんまか?)、ARCとかで黄diff以上を通せるようになっていきたい気持ちがある。絶対解けないやつを解説ACする体験がきっともっと必要なんだよな。つかそもそも最近一切精進してない…

Categories: