むかでのチラ裏

競技プログラミング現役引退でチラ裏に・・・

週記 2024/06/10~06/16

先週は週末にだいぶ食べ過ぎてしまったので, 健康に気遣いつつ食事を選択していきたい.

06/10 (MON)

9:00 起床.今日は ipad のタイプカバーが届いてくる日だったのでそれを待ってから大学へ行く予定だ. 無事届いたので早速装着するが,非常に良い. 確かに surface よりも重いことは確かだが,挙動不審な surface と比べて劣っている点がほぼない. ほぼと言ったのは,

  • マウスやキーボードのレスポンスがほんの少し遅い
  • キーボードが水平なので一般のキーボードと打鍵感覚が異なる

の二点のみ気になる可能性がありそうだったが, 冷静にそんな繊細な作業を ipad でやるわけではなく, 外出時にちょっとしたラップトップとして使う時にストレスがなさそうなので満足した.

ところで昨日今日ぐらいに届くはずだったものが届かないことの方が気になる. キャンペーンで応募したグレイスのぬいぐるみなんですけど... どうやら早朝に不在扱いになっていたらしい.タコ.

leetcode.

▶leetcode 問題&考察

満足したところで大学へ. 大学についてすぐにキッチンカーに向かう. しかし,ケイジャンビーフではない意味不明なキッチンカーがいており完全に心が折れてしまう.

絶望の中にゼミ突入. ゼミ後に悲しみながらセブンイレブンの親子丼を食べる. 別にこれも美味しいのだが,ビーフの口になっていたので悲しかった.

作業をする.

〜作業〜

お腹が減ったのでそろそろ帰るか (19:40) 何を食べるかまだ何も考えていない. 昼のビーフロスにより肉が食べたいとはいえ,週末に食べすぎたのであっさりめのものにするべきなんだろうか.

かまたまうどんを食べればかなりヘルシーだろうという結論に至り,徳すけうどん屋)に向かう. しかし実際に来てみると全然色々な具が食べたくなってしまい,カレーうどん with 芋天と相成りました. まあそこそこヘルシーだし,値段もリーズナブルだろうといったところで満足した.

徳すけ カレーうどん

金土日の深夜飲みからの DDR からの BBQ で割と身体の様々な部位がつかれているのを感じた. 帰宅してシャワーしておとなしく寝ることに…と見せかけて一瞬作業をする. 明日は昼からしか歯医者が予約取れなくて在宅なので,まあ多少はなんとかなるだろう.

06/11 (TUE)

結局まあまあ PC を触り続けてしまい 10:30 起床.

ところで, DDR で負った手の筋肉痛いまだに治らないのやばすぎる. 多分 これ だと思うだよな. DDR って中級者以上になってくるとバーをしっかり持って上半身もかなり酷使するゲームなので バーの持ち方が悪いとこういうことになってしまう.というか久々すぎて姿勢とか全て忘れていた. サロンパスでも貼っておくか.

さて,本日も leetcode.そろそろ離乳食じゃない問題を日課にしようかなと思うぐらい最近つまらない.

▶leetcode 問題&考察

作業をしたり,ブログを更新したりしていたら 12:30 になるので歯医者に向かう.

歯医者終わり.全然楽しくなかった.これに関しては自分が全て悪いんだけど. そう考えたら俺が悪いわけでもないのに楽しくない leetcode の daily は一体どうなっているんだ. 許せねえ.

さて昼食を食べたいのだが,全然麻酔が切れてないのでどうしたものか. とりあえず作業でもしておくかの気持ちになる.

作業をしているとまーた意味不明現象に出会う. 麻酔が切れないとはいえそこそこの時間に飯を食べないと晩御飯が食べられなくなるので,しぶしぶ食卓へ.

兄が家にいる日らしく,パスタを作ってくれた. 自分も家にこの歳でいるのなら飯ぐらいは作った方がいいんじゃないかと思う. 思うだけで中々難しいんだけど.そもそも家に全然いないし.

食べながら意味不明問題について検証をしていた. 結果,意味不明問題がは???問題に進化した. 起こりえない現象が起きていて仰天して流石に Googling した.

結果,インターフェースが存在するのに中身が実装されていないだけだった. そういうのはちゃんとドキュメント類に書いておこうよ (#^ω^)ピキピキ

参考画像

ところで先日届くはずだったグッズが届いてきた.音ゲー (SOUND VOLTEX) のポイント貯めて応募者全員サービスのやつ. 中の紙に「景品の『ぬいぐるみ』をお送りいたします」って書いてあって面白かった. 鍵括弧がついてあることによってぬいぐるみではない何かではないかと思ってしまった. でもどうやら皮肉の引用符ってあまり推奨されないらしい.15 へぇ.

皮肉の引用符 - Wikipedia

とどいてきた「ぬいぐるみ」

麻酔が切れるのを待って作業を再開する. 家にいると喋る相手もいないのでつまらない作業が続き苦しい!

晩飯を食べる.晩飯を食べた後も作業&シャワー. うっかりコンピューティングリソースのかかる計算をしてしまったせいで,なかなか寝られなくなってしまった. 明日はゲームセンターにでも行こうかなと思っているので,ゲームセンターでやりたいことを確認とかしてみる.

ブログを更新している途中で計算が終わった. 全然一時間以上かかった… $ 10^{10} $ 回 pow 関数を呼ぶだけなんだが… CPU 無敵!みたいなコンピュータを有していればもう少しマシな時間で計算できたような気もする. ほしいね.

2:30 就寝.

06/12 (WED)

さてたっぷり寝て 9:45 起床.昨日夥しい数の実験をセットして寝たのだが,まじで全然終わってない. というか,プログレスを表示する機能を作っていなかったため個別の完了通知が来てもどこらへんなのか全然わからない. いい加減こういう実験スクリプトの完成版みたいなのを作って楽になりたい.

友人の勤め先が自分の家からぼちぼち近いため,昼休みにちょっかいをかけに行くことにした. それまでの時間はちょっとした作業及び leetcode をやることにした.

▶leetcode 問題&考察

leetcode をしているとちょうどいい時間になったので,家を出る. 今日外暑すぎる.どうなってんだ. 今年も Twitterバブルスライムの画像を使って「暑すぎる」って呟く季節が到来したことを感じる.

昼飯は友人と一緒にとる.しかし昼飯自体にはそんなに関心がなかったので松屋へ. 松屋に行くのが久々だったのでベーシックな牛飯のセットにしておいた. チー牛頼むか迷ったけど,今週はできるだけ摂取カロリーを減らそうとしていたことを思い出し思いとどまる.

ベーシックな牛飯と若干凝った汁

その後,友人の昼休みの日課である音ゲーに興じる. 26 歳たちの昼休みとは到底思えないぜ.

友人はすぐにゲーセンを出て会社に向かうが,自分としては実験も全然終わってないしピアノの稽古までの時間がある. 昨日は一日中パソコンの前にいたため引き続き音ゲーに興じることにした. 非常に上手かったので満足して 14:50 に帰宅する.

ピアノの稽古が 17:30 からなので小休止ののち,ピアノの練習を始める. 最近趣味の時間をほとんど全て音ゲーに費やしているため週の練習時間が自分史上最も少ないかもしれない.

2 時間以上みっちり譜読み・解析・練習をすることによってだいぶバラードの構成が見えてきた. 後は中間部の多声のところとコーダの忙しいところのみを残すこととなった. 一旦譜面の解析が終わって仕舞えば後はメカニカルな訓練及び音色研究になる. このフェーズが一番上達が加速して気持ちいいから早くこれになりたい.

レッスンを終えて,若干習ったことなどを確認したところですっかり 18:30 も回っていた. 今日もカビゴンに昼飯をあげるのを忘れていた.ごめんカビゴンカビゴンの空腹度に想いを馳せながらブログの更新をする. 最近ブログの更新は iPad でできるようになったんだけどこれが快適すぎる. こういう雑な日記は思い至った時に手の走るままに書くのが正解なのでわざわざ作業机に座ってやりたくない. それに空いていれば外出先でもちょっとずつ書けたりするので日課として成立させやすくなった.

そんなこんなで 19:00 前になる.流石に実験もそろそろ終わる(終わった)頃合いかと思うので作業机へ. さーて作業するぞつったらなんかディスクがパンパンで何も行動を起こせなかった. 意味不明すぎるけどとりあえず LVM を 200 GB まで拡張して一時しのぎをした. 誰やねんこのサーバのディスク管理をちゃんとしなかった奴は!と思ったけど俺だった. 全然後輩に適当に使わせていた自分が悪いんだよね.最悪だ. このサーバもう自分は使わないと思っていたから好きにやれいの精神だったのが良くなかったな.

結果として意味不明なタイミングで実験が止まっているし本当におかしくなっちまいそうだよ. 諸々なんとかして晩飯へ.

晩飯はヘルシーなものが出てきて助かった.ありがとうオカン. 晩飯後はちょっとした打ち合わせみたいなものがあり,1 時間ほど話した.

なんかもう今日は色々やって疲れたな. 稼働時間はいつもと同じでも行動数がたくさんだといつもより疲れる,俺はキラーマシンではないので. とはいえもうこの時点で 22:30 なので疲れてもいい頃合いではある.

とりあえずシャワー浴びてスッキリしてから考えることにした. スッキリしたら何もやる気にならなくなってしまった.もう眠いもん. 就寝.

06/13 (THU)

9:00 起床.実験が終わっているかと思ったら終わってなかった. 普通に助けて欲しいが,まあ一旦一応のデータは揃っているからよしとしよう.

パンを食べたべ,揃ったデータを整形する. この時間まあまあきついな. あとでよしなにグラフを作ってくれるようにしておきたい.

グラフ作りながら leetcode ものぞいておいた.

▶leetcode 問題&考察

一旦ミーティングに必要なグラフやドキュメントが揃ったところで大学へ向かう. ・・・が,なんとしっかり自宅マシンの local にデータを置き忘れていることに気がつく. 家に戻って出直す.この時間本当に無駄だった.

ミーティング遅刻してしまうし,飯は遅くなるしで本当に最悪だった. もうデータとかを local にもつのをやめたい.やめよう. ちなみに昼飯はセブンイレブンの親子丼を食べた.あれうま過ぎ. うま過ぎな上に結構栄養バランスがいい.

今後の方向を定めて作業を進めていったが,17:00 ぐらいに全然眠くなってきた. 作業を続けてもだめだということで早いけど今日は 18:00 に上がることにした.

というか Mac OS ってファイル名にコロンが入ってちゃいけないらしい. こういうのは他の OS と同じ仕様になっていてくれよと思った. 実験の結果の生データのファイル名に全然コロンを使っていたため色々面倒くさいことになった. 結果としてはこれが最後の一撃となって帰宅を決めたと言っても良い.

帰宅して夕飯を食べる.最近ヘルシーなものが多くて非常に助かる. 低気圧が来るとただでさえ悪い胃がさらに暴走を始めるので,本当に気を遣う.

眠すぎるが,風呂に入る. 湯舟につかるのは久々かも.夏だとどうしてもシャワーでいいかなという気分になってしまいがち.

風呂を出たら少々作業でもしようかなと思ったが,眠すぎてとても身体が言うことをきく雰囲気ではなかったのでまったりモードへ. 軽く実験を考えて早めの就寝. 1:00 ぐらいだから全然早めじゃない可能性もある.

06/14 (FRI)

9:00 起床からのなぜか二度寝して 10:30 起床.流石に舐めてる睡眠時間なので反省. コンスタントに 7 時間前後寝られれば疲れも溜まらずにこう言うことが起きにくいとは思うんだけど難しい. なぜなら寝る前ってやることが多いから・・・ 実験は勝手に進んでくれるけど,勝手に設定して始まってくれはしないから・・・

さて,朝食をとって支度をして少々作業をしてから出立する. 電車内で leetcode.最近 leetcode は電車内ぐらいがちょうどいいことに気がついた. iPad 用のキーボードも購入したので非常にちょうどいい. ただもう少し面白いと助かる.

▶leetcode 問題&考察

さて,大学に着いたら即座にチーズタコライスを注文する. そしてセブイレにも行き,珍しくマルチビタミントロピカーナが売り切れていないことを確認. 神パターン来てテンションブチ上げになる.

ちなみに神パターンなのに写真はない.本当にテンション上がったときって全然写真とか撮れないな. これっていわゆる「怒りの 6 秒ルール」みたいなのと似てないか? アレって脳の働きによって怒りのピークから 6 秒待つことでコントロール可能になるとかだったような. 神の昼食パターンに感情が昂ってしまい,その昂りがコントロール可能になる前に手を付け始めてしまうのではないか. そう考えると食事を写真にとるって理性的な活動なのか.理性的活動にしては意味がなさすぎるな. 撮影の目的を考えたときに誰かに SNS 等で共有するという人間の欲の体系みたいなものが思い浮かんで嫌な気持ちになる. そう考えると全然理性的じゃなくて本能すぎる.

ちなみに僕は写真に撮ってるときが一番楽しい. 共有するときに見返しても今からその食事を食べられるわけじゃないし別に楽しくない. 今食えない自分がこれから食える楽しみの中にいる自分を写真越しに想像して楽しいわけないよ. それでも Twitter 中毒患者ゆえに楽しくなくても楽しそうな感じを出しながら呟いてしまうのが一番怖いかもしれない.

「食ったのは自分自身だろ」みたいなことは言わないでいただきたい.浅慮すぎる. 食ったのが自分かどうかは関係がなくて,大事なのは今の状態だと思う. 写真を見返すころになって食べて楽しい感情の残滓も消えたら,もうただの「○○を食ったことがある人」じゃん. 状況的には○○が美味しいことを知っている人が SNS 上にアップされた○○を見てる状態と同じなので当然羨ましい.

研究室での作業に関しては可もなく不可もなく. 低気圧のせいなのか昨日今日は集中力にやや欠ける気がするのだけが気になる.

ゼミが終わり,本日は研究室の上級生(OB なども含むが割愛)の集いで焼肉を食いに行くことになっていたので向かう. 若干の遅れが発生したものの店側に連絡したら全然 OK だったし,肉も非常に満足いく量食べることができた. 最近肉食べ過ぎな気がするけど一番食べてて楽しいから仕方ない.

一番楽しい時間に撮った写真.今はもうすでに羨ましい.

帰りの電車内で便意に襲われた.別に死を目前にするほどではなかったが旧すぎたのでびっくりした. 歳取ったら急に襲ってくる便意に鈍感になって垂れ流しになるのかなと思ったらかなり悲しくなった.

そんなこんなで帰宅. シャワーを浴びて少々作業をして実験を設定して就寝.

06/15 (SAT)

10:30 起床.本日は頼まれてとある LIVE の手伝いがある. それまでに少々作業をしておきたい.

朝食らしきものを口に入れて少々作業をすると時間になったので出発の準備をする. 行きの電車内で leetcode を確認する.今日は Hard か.

▶leetcode 問題&考察

さて会場について諸々のセッティングなどを行う. セッティングなどを終えて昼ごはんを食べる.おにぎりとから揚げ.質素だ.

その後,本番の準備を整えてからよきにやる. 無事に本番を終える.まあ自分が演者ではないしな. 打ち上げという名前のタダ飯に参加させてもらえるので参加する. ただそれまで少々時間があるので iPad で少々作業をしていた. こういう時に iPad 用のキーボードとかペンとか買ってよかったなと思う.

さて,晩はタダ飯を食らいタダ酒を胃の中にひっくり返していた. 美味しかったが量が足りなかったので帰りに蒙古タンメンを買って食べた. 夜食に蒙古タンメンは多かった.

そのまま当然何のやる気もでないので実験だけセッティングして就寝.

06/16 (SUN)

昨日就寝したふりして YouTube 含むネットサーフィンを夜遅くまでしていたせいで全然 11:30 起床.ゴミ. 朝ごはんと呼べるのか怪しいラインのものを口にねじ込み,ぼやぼやした脳で色々する.

意識が覚醒したころには昼の時間になっていた. 昼ごはんはサンドイッチとピラフだった.健康的だ.

さて流石に一日ぼやぼや過ごしてはいけないのでピアノでも弾こうかなと思ったら鬼の速さで父親が返ってきたのでキャンセル. 悲しいことだが,父親は俺がピアノを居間で弾くことをあまりよく思っていない. いつやればいいんだいう気持ちになったりもするが,今日は父の日なので引き下がることにした.

そんなこんなで少々パソコンの前に座っていたがゲームがしたくなったので出かける. 自分のやりたいゲームがあるゲーセンが近場になくなってしまったので自転車で行くことができないのがなかなか面倒臭い. バイタリティの化身なので重い腰を上げて出発.

ゲームの調子は悪かった.生活習慣的に当たり前かもしれない. 帰って晩御飯を食べる.兄と共同で例年通り酒を父親に贈る. 父親は酒以外のものを贈ったときの反応が非常に読みづらい人なのだが,酒なら安パイだということがこの兄弟の結論だ.

晩御飯も終えて明日もう月曜日かと思いながらブログ更新をする. 最近音ゲー記録の方の更新が滞っている.シンプルに忙しいとブログ 2 つ更新するの大変すぎる. 脳に電極挿して特定のフォーマットで吐き出してほしい. どうせこのブログに書いている時に特別なことなんて何も考えていない.

シャワー浴びてきたらなんか眠気が若干さめた. とはいえ,平日に向けて早めに寝ようかしらということで今週はここらへんで失礼.

leetcode を忘れていたのでやる.

▶leetcode 問題&考察

また来世.

週記 2024/06/03~06/09

06/03 (MON)

朝 7 時ごろ起床. これには訳があって輪講のスライドを作成していなかったのを昨晩気がついたので早朝の自分に託したのだ. 託されたので諸々朝の支度をしてスライドを作成する.

本当は月曜はケイジャンビーフが食べたいのだが,本日は断念…

時は流れ,大学.ギリギリセウト!みたいな感じで自分のターンが終わる. 生活習慣が終わっている中 7 時ごろに起床したので今のうがぼやぼやしているがこれが正常なリズムな気もするので順応したい.

一応本日の leetcode 離乳食.結構 leetcode の部分がブログ上で邪魔だったので,今週から fold できるようにしてみた.

▶leetcode 問題&考察

作業するも眠すぎて効率悪くて反省. そのまま帰宅して飯食べて風呂入って寝た. 明日の自分はもっと上手くやってくれることでしょう.

06/04 (TUE)

睡眠習慣がぶっ壊れているのか3度寝をした. 最終的に 10:30 に起床.少々作業をしてから大学へ向かう.

大学に着いたら今日はセブンイレブンの鶏弁当を食べる.

leetcode の問題でも見るか.

▶leetcode 問題&考察

今日は眠気もなく元気だったので元気に作業をしていたが進捗自体はいまいちであった.

さて,晩御飯を大学の近くで食べて帰ることになっているのだが何も思いつかない. 帰り道に先輩と話ながらうどんに決定. チー牛の匠の名に恥じない牛肉うどんを選択. 久々だったので大盛にしたのだが,この店全然大盛が多かったことを思い出す.

牛肉うどん with 芋天 + からあげ

ゲームを少々して帰って寝る. 作業をしようと思ったがなんかやる気起きず.

06/05 (WED)

10:30 起床.なぜこんなに寝てしまったのかというと,昨日夜遅くまで通話してしまったからだ. 生活習慣が終わっていて眠くなかったのも原因の一つなので色々と反省しなければならないな… まあ水曜はピアノ&まったり作業デーなので気にせず過ごすことにした.

さて 11:00 からちょっとした打ち合わせのようなものがあったのでそれをこなして少々 YouTube を閲覧する. 面白い動画が見当たらないので昼飯に突入.

実家の昼飯ありがてぇと思ったが,全然冷食を解凍して食べた. ちなみにピザを食べました(画像なし).最近食生活直してきたのにここらでまた崩壊しそうになっている.

昼飯のあとに昨日意味なさすぎてキレそうだった leetcode を開く.

▶leetcode 問題&考察

さて leetcode も終えたのでピアノのならしをする. 今日は指が全然動かなくて閉口した.悲しみのまま稽古に行ったが今日はいまいちといったところ.

バラードの譜読みが思ったより進んでいないので危機感を覚え始める. まあ六月中には大体覚えられるかな…

さて夕食を食べる. 実家のご飯の何がいいって基本的に栄養バランスがいいことなんだよな.ありがてえ.

食後は作業の続きをするのだが,なかなかうまく進まない. マジで全然無能で泣きそうになりながら就寝時間になるので寝る. 明日の自分はもう少しうまくできるといいな.

と思ったのだが全然作業を深夜 3:30 まで続けてしまった. アホすぎる.本当に助けてください. この時期になると夜明けが早いからあんまり遅くまでやると全然カラスが鳴き始めてしまう. 今度こそ就寝.

06/06 (THU)

4 時に寝付いたため 11 時前に目覚める.最悪. とっとと朝食をとって大学へ向かう.

ちょうど昼時なのでキッチンカーへ. 最近どんどんキッチンカーが値上げしているし,なんかこない日もまあまあ多い. ローストビーフ丼・ナシゴレンハーフ丼を食べる. 画像なし.全然食欲がまさってしまって全然写真撮れない.

▶leetcode 問題&考察

大学での作業に関してはまあ色々あるのだが,チラ裏に書くようなことでもないので割愛. 強いて言うならあまり作業量に比して質が悪くてなんかダメだな. もうちょっと考えて行動をしないと研究と言えん.

さておなかが空いたので日吉で食って帰ることにした. 肉チャーハンメイツが 3 人いたのでここで行くことに.

肉チャーハン(食べ終わった後の姿)

肉チャーハンを胃に入れて音ゲーをする. 音ゲー調子よかった.というか肉チャーハンを入れたあとの行動の調子が悪かった試しがないのであまりにも合法ドラッグすぎるかもしれない. 近年胃が悪いから脂っぽい肉チャーハンは相性が悪いはずなのにむしろいいのなんでだろ…

帰宅して作業しようとするもなんか眠くて手を動かす気力が湧かないのでブログだけつけて風呂入って寝ることにした. ブログ複数持っていると結構タイピング速度が必要になってくる気がしてきた. 暇な時間にタイピングゲームでもやってみるか.分割キーボードだと速度でないんだよなぁ…

確固たる意志で寝る.

06/07 (FRI)

9:30 起床.ちょっとパソコンをいじったのち朝食を食べてから出かける. 今日の朝食はヒレカツサンドだった.朝にしてはだいぶ重い気はするは昨日の残り物らしい.

大学につく.チー牛の匠らしくいつも通りチーズタコライスを頼む(画像なし). 朝昼と食べているものが重すぎるかもしれないと思ったので夜は軽めにしたいな.

チーズタコライスを前に leetcode を開く.

▶leetcode 問題&考察

作業とゼミを終えて本日は飲みに行くことにした. ダンダダン酒場で餃子及びその他たくさんを摂取.

終電を超え,友人が引っ越したらしいのでその家に転がり込んだ. 友人宅でシャワーまで貸してもらい,ゲーミングチェアのあたたかみを感じながら就寝. どこでも寝られる人間なので全然フローリング直寝でも行けた気がする.

06/08 (SAT)

10:00 起床.友人がまだ起きていなかったが時期に起きた. 今日は午後から DDR をやる約束があるので,一旦家に着替えなどを取りに帰る.

家に帰って昼飯を食べて着替えやタオルを持って DDR をしに川崎へ. 実は 2,3 ヶ月ぶりに DDR をプレイするので全身がバラバラにならないか非常に心配だ.

無事に DDR をプレイして身体がバラバラになってしまう. 健康日課としてもう少し頻度を上げてやったほうが良さそうだ.

さて DDR を切り上げて同行者と飯を探す. その時に通りがかった島村楽器ガールズバンドクライ仕様になっていた. 当然拙僧はオタク故写真を撮ってしまった. ふと思ったんだけど,ガールズバンドクライで“部活応援フェア”はどうなんだろうか.

島村楽器がすっかりガールズバンドクライ一色に

若干気になるところがありつつも,晩御飯は石焼ハンバーグに決定.

石焼ハンバーグ.うっかりポテトとかつけなくてよかったぐらいの量

ハンバーグが疲れ切った身体に沁みる. ただお腹いっぱいすぎてだいぶ眠くなった. 帰りの電車は結構うとうとしながら帰宅.

汗拭きシートで拭いていたとはいえ汗が気持ち悪かったので即シャワー. からの作業をしてそのまま眠くて何もできなくなり就寝.

06/09 (SUN)

本日は高校同期と BBQ をする予定があったのだが, 午前中はちょっと時間があったので一旦 PC の前に座って作業をする.

11:30 ごろ集合場所へ到着. 朝ごはんをろくに食べていないので非常に腹が減っていた.

前回大学同期と一緒にやった時と違ってなんか木炭に火がつくのが早かった. そのままじゃんじゃん肉を処理していき,肉は買い足すことになり 16:30 ごろに撤収.

BBQ の様子.なんか BBQ やる頻度がすごい.

そのまま歩いて最も近場のサイゼリアに入る. もう食えないよーとか言いながらまあまあ食べて苦しくなる.バカ.

先日と同様に家に帰ると汗やら煙やらでベトベトの身体を即シャワーで清める. その後は普通に疲れてしまい,作業しようと思うも身体が重くそのまま就寝.

金土日と飯を食べすぎて身体が本当に重い. 来週は少し食べる量を考えていこう・・・

また来世.

週記 2024/05/27~06/02

故あって久々にしばらく週記を執筆してみることにした. まあまた飽きるまでやろうと思う.

最近では音ゲー記録帳の方の更新をしているのでブログを書く習慣という意味ではだいぶ戻ってきている. 今回は 2 ヶ月ぐらいは続けられるかもな.

さて競技プログラミングを引退してからというものポヤポヤコーディングが癖になっていて良くないことに気がついた. これは普通に普段のコーディングでも感じるようになってきていて若干の焦りがある. いったん毎日健康アルゴリズム生活ということで,leetcode を啜っていこうかなということにした.

leetcode の daily problem なんて離乳食みたいなもんだと思っていたが,今の俺は赤ちゃんだしこれが正解か.

05/27 (MON)

週記なのに早速先週のことを書いてしまうのだが,日曜は学部時代の友人たちと BBQ に行って大変楽しかった. 今回は燻製器を持っているやつが来られなかったのでチー牛の匠なのにノースモークチーズでお届け.

何が言いたいのかというと,想像以上に疲れていたらしく目覚ましを完全にアラームを無視してしまってランボー怒りの 10 時起床. シンプル絶望をしながら,研究室登校のデッドラインぎりぎりに行くことにした.

アラームが鳴っていないのか,それとも寝ている時のアラーム刺激に慣れてしまっているのか判断がつかなくて困る. とりあえず,両方のパターンに対処できるように別の独立した時計のアラームを使用してみることにする.

閑話休題.大学へ向かう電車の途中で絶望の slack 通知が来た.ケイジャンビーフのキッチンカーが来ていないことを先輩が教えてくれたのだ. BBQ でもノースモークチーズだし,月曜の魂の昼食であるところのケイジャンビーフも食べられないときてはチー牛の匠の地位が危ぶまれる.

時間ぎりぎりだったので代案を考える時間がなかったので昼食は CS中本に決定. あと夜に尻の穴にダメージを受けないために飲むヨーグルトも忘れずに買っておく. 昼食を入手したはいいが,ゼミ開始の時間なので一旦ゼミ教室へ.

ゼミが終わる.内容に関してはチラ裏に書くようなことではないが,とりあえず 15:30 ぐらいになった. 研究作業の前に日課の leetcode を処理しておくか…

本日の問題の URL


問題概要

整数配列 $ nums $ が与えられるので,$nums$ 中の $ x $ 以上の要素数がちょうど $ x $ になるような $ x $ を見つけろ.

制約

$ 1 \leq |nums| \leq 100 $

$ 0 \leq a~(\in nums) \leq 1000 $

簡単すぎワロタ.こんなの離乳食ですらねぇよ.

$ nums $ をソートした後に,$ nums $ をなめながらそれぞれの区間に $ x $ があるかチェックするだけ. よって $ n = nums.length $ として $ O(n \log{n}) $ で解ける.

が,しかしこれ制約が緩すぎて雑に全探索をすれば良い.以上.つまらん.ボケ.


本日の問題がつまらなかったので気分が悪くなりつつも,作業開始.

~~~作業~~~

作業終わり!結構ポカして時間を浪費してしまい反省. 月曜はゲーセンが空いているので飯を食べて音ゲーをするぜ.

本日は肉チャーハンの気分だったのに,なぜかタコ込みだったためにし田へ. 今日本当に食いたいもんが食えない日だな.

にし田

音ゲーをシバく.疲れる.帰宅.風呂.ブログ更新.就寝. こう考えるとブログ更新って結構手間だな.

05/28 (TUE)

深夜まで作業していた上に先日言っていたアラームの冗長化を失念しており,寝坊. 10:30 起床.普通に絶望するも身支度と軽く作業と朝食(?)をとり大学へ.

大学へ来たら割とすぐに昼飯をとる.こう記すと飯食ってばっかだな. 火曜日のインドカレーのキッチンカーは好みではないので,セブンイレブン飯にする.

ビビンバを食べつつ離乳食の leetcode.

本日の問題の URL


問題概要

文字列 $ s $ と $ t $ が与えられる.$ s _ {i} $ を $ t _ {i} $ に変換するのに $ |s _ {i} - t _ {i}| $ のコストがかかる.

かけられる最大のコスト $ maxCost $ が与えられるので,同一にできる substring を最大化して長さを答えよ.

制約

$ 1 \leq |s|=|t| \leq 10^{5} $

$ 0 \leq maxCost \leq 10^{6} $

まあ簡単.

$ s,~t $ からそれぞれのインデックスに対して変換にかかるコストを計算しておく. すると,長さに対してコストが単調に増加するので尺取りで $ O(n) $ で解ける.

コンテスト中だったら $ log $ をつけてしまうからもしれない.


そんなこんなで leetcode を終えて,作業するぜ. 作業終了. 19:30 すぎぐらいだったかな. 今日は実験がうまく回せるようになってデータ無限生成太郎に進化した.

さて少し音ゲーをやって帰ることにした. 音ゲーは下手だった. というかおなか痛かったし素直に帰ればよかったよ~

帰り道腹痛を抱えながら電車に乗るも,JR がタコ遅れのタコ込みで叫びそうになった. youtube.com

↑これやろうか本気で迷った.

腹痛を抱えていたので背に腹は代えられないと思い,グリーン車 乗車を決める. …が,なんとこのグリーン混雑の日に赤ランプで堂々と座り続ける輩がめちゃめちゃして本当に暴れそうになった. こっちはお金払っているのに普通に法律で禁止してほしい!禁止はされているか.無賃乗車と同じだもんな.馬鹿野郎.

命からがら帰宅.晩御飯を食べたのち,腹痛すぎ故に即横になった. YouTube を見ていたような気がするが気が付いたら寝てしまっていた.シャワーを浴びまた寝る.

05/29 (WED)

歯医者が 9:30 から入っていたが,腹痛を引きずっていたのでキャンセルした. ドタキャンになってしまった故 3 回これがあると予約を入れられなくなると言われて辛くなる.

11:00 頃に身体が回復したので活動を開始.ちょっとやるべきことをやり昼食の時間になる. 本日の昼食はドリアとななチキという運びになった. 量食べていないのは胃を思ってのことだが,今考えたらドリアってまあまあ重くないか?

昼食を食べながら leetcode 離乳食

本日の問題の URL


問題概要

二進数表記の文字列 $ s $ が与えられる. これに対して $ 2 $ で割れる場合は $ 2 $ で割り,そうでない場合は $ +1 $ するということを繰り返す. 何ステップで $ 1 $ になるかを求めよ.

制約

$ 1 \leq |s| \leq 500 $

$ s_{0} = \mathrm{'1'} $

制約から見るに愚直にやるのでも平気そう. 具体的にはステップ数は高々 2 進数の桁数のオーダ $ O(|s|) $ が upper bound だろう. 一回の繰り上がりの計算量見積もりが難しいが $ O(|s|) $ では抑えられる. よって高々 $ O(|s|^{2}) $ なので余裕で間に合う.

だが二進数表現をぐっと睨むと線形で出来そうに見える. というのも $ 2 $ で割る回数は $ |s| $ 回か $ |s|-1 $ 回だし,$ +1 $ の回数も簡単に求められそうだ.

ちなみに $ 2 $ で割る回数は $ 1 $ の桁が $ 2 $ 個以上あると $ |s| $ になる. $ s_{0} $ 以外が全て $ 0 $ なら $ |s|-1 $ 回になる.理由は簡単で $ 1 $ が $ 2 $ つ以上あると繰り上がりが発生するためだ.

$ +1 $ の時の繰り上がりの挙動をよく睨むと,末尾で連続した $ 1 $ を全て $ 0 $ に変えてその左の $ 0 $ を $ 1 $ にしている. 何を当たり前のことをと思うかもしれないが,こう見ることで $ 1 $ の数ではなく $ 1 $ の左にある $ 0 $ の数が重要だとわかる. なぜなら,$ 1 $ は連続したものを纏めて処理できるが,左側の $ 0 $ は $ 1 $ 個ずつしか処理できない.

以上のことから最初から末尾にある $ 0 $ 以外の $ 0 $ の個数だけ $ +1 $ を実行するとひとつの $ 1 $ のシーケンスのみになる. ここで,もともと $ 1 $ が $ 2 $ つ以上あるとそれをひとつの $ 1 $ にするためにもう $ 1 $ 回 $ +1 $ をする必要がある.

ふう,与えられた数が二冪か否かで問題の本質が変わるので思ったより厄介だったがこれで一回なめるだけなので線形だ.

0 ms でご満悦のもよう.


昼食をとったあとは少し休んでからピアノの練習をする. というのも毎週水曜日は今だにピアノの先生に曲を見てもらっているから手ならしとかはしないといけない. 最近趣味の時間のほとんどを音ゲーに費やしているのであまり上達していないのでまずい. 幸いなことに今やり始めたのはショパンのバラ 2 で,比較的譜読みが楽だ.

ピアノの稽古から帰宅.複数のブログを執筆. ブログってたくさんの文字を打つから REALFORCE の方が断然いいなと思った. こういう風になってくると家のキーボードまで分割型にするのが本当にいいのか迷いどころではある. 家でそんなに長時間根詰めて作業することは珍しいと思うので,タイプ速度を重視した方がいいしこのままがいいか.

などと思っていると 19:00 になっていた.晩御飯について考えなければ. 電車を使って街に繰り出してから考えよう.

結局晩飯はマックにした.最近はダブルチーズバーガーは卒業してチー牛も卒業かと思いきやより強いチー牛であるところのサムライマックに宗旨替えしただけだ.

サムライマックのチーズのやつ.匠の精神が光る.

マックを食べたあとは近場のゲーセンに行って遊んで帰った. シャワーを浴びて,ブログ更新および研究作業を少々した.

明日も元気に活動したいため就寝.

05/30 (THU)

9:30 起床.少しずつ生活習慣が戻ってきている. 低気圧とかいう馬鹿げた気象を法律で取り締まってくれればもっと楽なんだけどね.

ひと作業した後に大学へ向かう.今日は教授と先輩一名がいないためあまり人が来ていなさそうである. 最近休みが多くてなかなか食べられていないキッチンカーを楽しみにしていきたいと思う.

行きの電車内でアニメをみる成人男性と化す. アニメ前はもっと見ていたんだけど,最近は漫画を雑に読み漁るせいでアニメ化作品はどうしても優先度が下がってしまい見ないことが多くなった. アニメオリジナルもそれはそれで,前評判がわからないので一人では手が伸びにくい. そんな中最近はガールズバンドクライというアニメを見ている. 内容はネタバレ防止のため言及は差し控えるが,舞台が川崎でありバリバリ知っている背景がよく出てくる. なぜ見ようと思ったかというと全然別の友人 3 名以上にアニメ見るならこれ見とけと言われたためだ.

さて大学についてキッチンカーへ向かう.いつも通りローストビーフナシゴレンハーフ丼を注文. 50 円値上げしていた.キッチンカー自体最近どんどん値上げしていてしんどいよー.

飯を食べながら leetcode でも確認するか.

本日の問題のリンク


問題概要

整数列 $ arr $ が与えられる.この時三つのインデックス $ i, j, k ~(0 \leq i < j \leq k < |arr|) $ について考える. $ arr[0:j] $ の xor 和と $ arr[j:k+1] $ の xor 和が同じになるような組を数え上げよ.

制約

$ 1 \leq |arr| \leq 300 $

$ 1 \leq a~(\in arr) \leq 10^{8} $

$ n = |arr| $ とする. 見たまま解法で $ i, j, k $ を全探索することもできなくもない.$ O(n^{3}) $ で解ける. グッとひと睨みすると「二つの xor 和が同じになる」と「二つの xor 和の xor は $ 0 $ 」は同値であることに気づく. ということは $ j $ がなんであれ $ arr[0:k+1] $ の xor 和が $ 0 $ なら条件は達成される.ggez.

あとは $ j $ の取り方なのだがシンプルに $ k-i $ で OK. これで xor 和が $ 0 $ になる区間を列挙するゲームと化し,$ O(n^{2}) $ だ. …と言いたいところだが,競プロ調教されすぎてこの部分問題は親の顔より見ているので $ O(n) $ になることが瞬時にわかる.

いわゆる zero-sum-ranges の類型と言われているやつで和が $ 0 $ になるような区間を列挙するとき,prefix sum の列を見たときに 同じ和どうしを両端とする半開区間が元の列の和 $ 0 $ 区間に相当するから同じ prefix sum を key にした hashmap で個数を足し上げてあとで処理するのが定石. (ex) [4, 1, -1, 2, 3, -5] の prefix sum array は [0, 4, 5, 4, 6, 9, 4] で $ 4 $ が $ 3 $ 回出現するので和 $ 0 $ の区間は $ 3(3-1)/2 = 3 $ 通りある.

今回の場合そのものを列挙するのではないので個数だけでは不十分だが,$ k-i $ を足し上げるだけなので easy. $ k $ はあるインデックス $ s $ で xor sum が $ x $ の時に今まで出現した $ x $ の個数 $ \times s $ でまとめて足し上げられる. $ -i $ に関しても,今まで $ x $ が出現したインデックスの和を hashmap で別途持っておけばそれをまとめて引けば良いことがわかる.

そんなこんなで手癖で $ O(n) $.2 ms で脳の血管がキレそうになるが,こんなことに腹を立ててもしょうがないと思いそっ閉じ.


作業をするも,本日は全然人がいなくて寂しかった. 少々音ゲーをして帰った.今日はなんかうまかった. 帰宅して晩御飯を食べて諸々して就寝.

全然ペーパーマリオ RPG やりたいな.

05/31 (FRI)

9:30 起床.もうちょっと早く起きる習慣をつけないと.

朝食とってしばらく家で作業してから午後から大学へ.

大学着いたら昨日よりは人がいることに安堵しながら,飯を食べつつ leetcode


問題概要

整数列 $ nums $ が与えられるので,unique な要素を列挙せよ.

制約

$ 2 \leq |nums| \leq 3 \times 10^{4} $

$ -2^{31} \leq a~(\in nums) \leq 2^{31} - 1 $

ただし,$ nums $ には 2 つの unique な要素が存在し,それ以外はちょうど $ 2 $ 回出現する.

とにかく頭を使わずに unorderd_map で $ O(|nums|)$ で解いてしまった.

全然赤太字を見逃していたのだが,これがあれば全部の xor をとると答えを $ \alpha, \beta $ としたときに $ \alpha \oplus \beta$ が得られる. 片方しか立ってない bit に着目してその bit が立っている数字だけもう一度 xor かければ $ \alpha, \beta $ のうちその bit が立っている方がもとまる. こうして連立方程式が解けるので嬉しい.と思いきや全然オーダ変わらないしキャッシュに乗りやすいから実測ちょいはやぐらいだろね.


作業を終えて今日は早めに研究室を出た.飲みの約束があるためだ. ガールズバンドクライに出てくる居酒屋へいく約束をしていた. 登利亭と言います.

乾杯

なんかこのあと HUB もいってしっかり酔う.ほなまたな.

06/01 (SAT)

なんか酔った上に夜更かしもしたせいで 11:30 起床とかで人生終了が確定した. 朝飯のみをとりあえずたべる.

オンラインの打ち合わせが 13:00 前からあったため参加する. それが終わると母親に頼まれた演奏会のカメラのリハーサル的なものをやりに出る.

昼飯を食えたのが 17:00 になってからだったが全然躊躇わずに油そばぶらぶらを食べた. 画像を貼ろうと思ったが 10MB を超えていますとかほざかれたのでやめた.

晩御飯に腹が空くわけもなく終了.

なんやかやしてシャワー浴びて作業して寝た.

06/02 (SUN)

生活リズムが壊れているので当然 10 時台の起床と相なった.

驚くほどこの日は何もしなかった気がする. 家族の出入りが多くてピアノが弾けなかったというのもあるが,それにしても特に何もしなかった.

そして夜寝る前に明日輪講が自分であったことを確認してしまう. 早朝の自分を信じて就寝.

また来世会いましょう.

週記 2024/03/04~03/10

競技プログラミングをやらなくなってから完全に週記を書こうという気持ちが失われてしまった. 週記がないと何も考えずに日々を過ごすことになるので,時間の経過が異常に速く感じてしまう. 気づけば 26 歳までもう少しになってしまい,野獣先輩で笑っている場合ではない

このブログのタイトルにしても,「競プロ備忘録」は嘘過ぎるのでチラ裏に変えておいた.

週記を書くことの副次的効果である「どうせ書くならなにか書けるようなことをするか」を期待して再開の意思を見せておく. 数式を気軽に書ける環境だし,どうせなら競プロもやるかみたいな気持ちになるかもしれないし.

03/04 (MON)

3 月は何かと大学でやることが多く忙しい週明けだった. やることやって帰宅&晩飯. そろそろ家を出るときのことを考えて部屋の整理をすることを決意. 手始めに勉強机の引き出しから整理することにした. 本当にぐちゃぐちゃで笑っちゃった.(画像なし) Twitter でたまに流れてくる ADHD のカバンの中みたいな様相になっていて苦しくなりながらも仕分けは全部完了した.

こんなものが出てきた.こんなものが印刷できた時代を思い出した.

引き出しを空にした段階で完全に力尽きたので,床や椅子に仕分けたものを全て展開したまま寝ることにした.

03/05 (TUE)

引き続き忙しめなので帰宅&晩飯までは似たような感じ. …と見せかけて 20~30 分ぐらいゲームセンターで遊んだ. このぐらいなら別に作業に支障が出ないので許すとした. 最近はドラムを模したゲームにハマっている. スキル値やそれに応じた色の変動があるので元競プロer としては名前の色を変えたくてうずうずしてしまう.

様々なことを処理した後,展開された引き出しの中のものを思い出す. 少しだけどこに何を入れるかなどを考えただけで力尽きた.寝る.

03/06 (WED)

水曜日は午後に地元でピアノのレッスンがあるので,大学に行っても午前だけなので基本的に行かないことにしている. どうしてもやらなきゃいけないことがある場合は振り替えてもらうが今週は大丈夫そうだったので家にいた.

午前中はいつも通りゴニョゴニョパソコンを弄っていて,昼食後はピアノを弾いた. 最近週末に予定を入れまくっているせいで,本当にピアノ練習量が減っていてまずい. タッチする感覚が狂ってきているのでどこかで修正しないと到底演奏会にでられるコンディションではない.

情けないコンディションで稽古に行って帰ってきた. 現在 BEMANI PRO LEAGUE 3 SEASON の SOUND VOLTEX 部門のレギュラーシーズンである. 自分の音ゲーのメイン機種が SOUND VOLTEX なのでちゃんと毎週見ているのだが,今週はパブリックビューイング会場まで見に行った. サークルの先輩方と観戦する方が楽しいが,毎回ついでにクレープを食してしまうのでデブまっしぐらなのだけが心配. 最近恐ろしくてあすけんに食事を登録できていない. ウンカスみたいな得点を獲得してしまうのが目に見えているしいいか. 試合内容に関しては満足.というか今期は特にレベルが高くて横転しまくりだ.

帰宅して就寝.本日も床に引き出しの中身が展開されたままの就寝となった. これ今晩震災があったら俺足を滑らせてしんだりするのかなとか思ったりしたので,部屋の中に太めの道を切り開いておいた.

03/07 (THU)

実のところ週記を再開しようと決心したのはこの日の深夜である. 週記をする以上は,「本日なにもしていないで布団の中でウネウネしていた」にならないためにカレンダーにそれらしきスケジュールを入れておくことにした. なんか満足するスケジュールが深夜に出来上がってから寝た.

さすがに初日はスケジュール通りに動けて満足した. ゲームセンターにも 20~30 分いた.

帰宅してついに部屋を片付けることに成功した. どういうわけかベッタベタな触り心地のゲームパッドの収納場所に困ったが,満足に引き出しが使用できるようになった.

03/08 (FRI)

スケジュール入力生活再開から 2 日目にして予定が狂った. 起床した瞬間信じられない腹痛に襲われる.しょうがないので二度寝する. 11:00 ごろに腹痛が沈静化したので,ほんの少しなにかを胃にねじ込んで大学へ.

大学に到着するころには完全に治っていたので気が大きくなりチーズタコライス大盛を頼む.

チーズタコライス (大盛にしても信じられないぐらいいつもより盛られてた)

幸いににも腹痛は再発しなかったので,午後の作業はそつなくこなすことに成功. 金曜なので当然ゲームセンターに向かう.3,4 クレぐらいゲームをしたのち焼き鳥の店へ GO. 金曜に酒を飲まないといけない身体になってしまった気がする. そのせいでもう yukicoder には出られないんだろうなという気がする.

楽しく飲んで終電で帰宅.就寝.

 <⌒/ヽ__
/<_/___/ 
 ̄ ̄ ̄ ̄ ̄ ̄
のふりしてどっこいしょバットマン

▕╲ ╱▔▔╲ ╱▏ 
▕ ╰▂  ▂╯   ▏ 
▕ ┳▅╮╭▅┳ ▏
▕        ▏  
▕▕▔ ╲╱ ▔▏▏  
▕▕     ▂▂    ▏▏  
▕▕        ▏▏ 
╱▏╲▂▂▂▂╱▕╲

翌日が土曜日なのをいいことに無限にタブレットにかじりつき人生終了確定演出でた.

03/09 (SAT)

11:00 起床即絶望.普通に午前中の予定は諦めてのんびり朝食(?)を食べた.

13:00 頃に昼食を食べて,90 分だけピアノを弾いた. 最近ちょっとだけ練習量が取れているので,感覚を少しだけ取り戻した感がある.

そのあとは休憩をしつつ (休日なので!), 先月末に FAST'24 があったので論文読んだりしていた. 呼んだ論文を整理するのに Notion を使い始めているんだけど,便利すぎワロタ. これに比べると Evernote とかいう意味不明なゾウさんのサービスはカスや

夜はちょっとゲームを消化する予定になっていたので遊んで就寝. Nintendo Online に加入して,昔のゲームを遊べるようにしてからゲームが楽しくて楽しくて…

03/10 (SUN)

前日の夜中にタブレットを弄り倒してしまったせいで 11:00 起床即うつ病

ポケモンスリープの鍋が絶好調すぎ

ポケモンスリープが絶好調だった以外は特筆すべきことがなかった. 呼んだ論文もおもろなかったし.

月曜に思いをはせながら就寝.

結局競技プログラミングしてないじゃないか.

また来世.

あゝねんまつ

気づいたら年末になってしまった.

しばらく競技プログラミングから離れていたこともあって更新をしていなかったが, 習慣としていいのでまた更新していけたらなと思っている.

最近やってたこと

  • 音ゲー
    • 音ゲー早慶戦なるイベントの選手出場がラストイヤーだったので,11 月頃は無理しつつ頑張っていた
    • 今は牧歌的音ゲーをちょびちょびやっています.
  • 論文
    • たすけてくれ
  • ICPC コーチとして横浜大会に出席する
    • 楽しかった.競プロ再開のきっかけになった.
    • tute7627 くんと keio_coach というチームでミラーやったりしていた
      • 普通に A,B,D のみやった.マジで全然競プロやってなかったので D のペナ生やさなかっただけえらいかも.
  • チー牛
    • 卒業した.
    • うそです.未だに毎週月曜はケイジャンビーフチーズステーキ&ライスを食べてる.

やりたいこと

  • 音ゲー
    • ゲーセンに行きたい…ハァハァハァハァハァハァハァハァハァハァハァハァハァハァハァハァ
  • 論文
    • 本当はやりたくない.というかやってる.
  • 競プロ
    • 食事食べながら適当にやったりしてたら全然レートゴリッゴリに落ちていたので真面目にレートを戻したい.
  • ピアノ
    • 寒いし忙しいしとっても大変.
  • ポケモン SV
    • 一番やりたいかも.
    • ☆踏んでしまったネタバレ一覧
      • ニャオハの進化系のビジュアル
      • 「ナンジャモ」とかいうキャラがいるらしいというテキスト情報

流石にこんな適当な報告で終えるのも何なので大晦日の日記でも添えておく.

12/31 (SAT)

10:30 起床.寒すぎて起きられない.11:30 に朝食をとる. ICPC 横浜大会でもらったミスドのドーナツを食べた. ハムとかチーズとかも口にねじ込んだ覚えがある.

パソコンの前に向かっている以外は特に何もせず昼を迎える.というか 11:30 はすでに昼な気がしてきた.

昼飯はそばを食べた.我が家の大晦日の晩飯はすき焼きと決まっているらしいので,昼に食べたりする.

昼飯の後は全然 YouTube とか見ていた.流石にまずいと思ったのでパソコンで作業をする.

よく考えたら,これは競プロブログだったのでなにか大晦日に解いておくかということで適当に選ぶ.

atcoder.jp

辺がいくらかあって,足して全域木にしろという問題. ただしそれぞれの頂点には次数の制約が存在するというやつ.

こんなもん葉から構成するだけや~ん→WA

もともとある辺が葉から構成してないから壊れるやんだるすぎる. 連結成分ベースで似たようなことすればまあいけるだろ, UnionFind になんか生やせばいけそう. でもだるいから AC は来年ね.あ~ねんまつ.

週記(2022/04/04-2021/04/10)

新生活が始まる(と言っても相変わらず学生の身分だが)のと、今まで死ぬほど忙しかったのが少しだけ落ち着いてきたのでこのタイミングで週記を再開しようと思う。 去年の $ 9 $ 月から更新がまったくなかったので、一応この半年で何があったかを軽くまとめておくか。

まず 2021/09 はピアノの発表の機会があった。これについては以前の週記でも触れた気がする。 この頃は並列して抱えているタスクが今ほど多くなかったので、そこそこ重めの曲をということでリストの「ラ・カンパネラ」を練習していた。 筋肉痛に悩まされるなどしながらも、なんとか及第点の演奏を本番ですることができて満足だったのを覚えている。

実はピアノが一区切りついてからは、音ゲーを我慢していた反動で beatmania IIDX にハマっていた。 結構熱心に練習したのでうまくなったと思う。ちなみに今はあんまりできてなくて、また下手になりつつある。

そっから先も音ゲー早慶戦というイベントの対策やら運営やら、ICPC 横浜大会やらで、忙しくしていたら気づいたら今になっていた。 なんということだ。文章に起こしてしまうと異常に完結に書けてしまうが、本当に色々な事があった…。

間の時期にイラストの練習をし始めた。 モチベーションとしては、恐らく将来は今の専門に関わる職業に就くだろうと漠然と考え始めており、なら趣味は何かを作るものにしようと思った。 実のところを言うとプログラミングを始めたのはゲームとかを作りたかったところが大きい。 年齢を重ね、それを仕事にするのはちょっと…という風になったのを逆手にとってそちらを趣味にしようと考えたのだ。 どんなものを作るにしてもイラストはマストなのではないかと思い、ここから始めてみることにした。元々絵を描くのは好きだった。 (上手すぎる人間に会いまくった結果、小学校時代以降絵を積極的に描こうとは思わなくなったが…) 高い書籍を買うことで自分を縛って毎日練習していたのだが、流石に以上に忙しくなって休止したのでそろそろ再開しようと思う。

ちなみに近況はと言えば、半年たってまたピアノの演奏会が控えている。 ただ、今回は直前期が結構忙しかったこともあり軽めの曲である。作曲家は去年の秋と同じくリストで「ため息 (Un Sospiro)」だ。

youtu.be

軽いと言っても短くて、そこまで複雑な構成をしていないということなのでまあまあ手への負担はあるようで、音ゲー早慶戦が終わってブランクがある時にいきなり $ 5 $ 時間くらい弾いたら しっかり腱鞘炎になってしまい割と発狂した。ロキソニンの暴力によって今は治りつつあるので本番には持ち越さなさそうで安心した。 ただロキソニンは臭いが強くて何を食べてもロキソニン臭がするのだけはちょっとだけダルかった。

04/04 (MON)

9:00 起床。本当は 7:00 頃に目を覚ましていて、Air pods を外すのを忘れてそのまま寝落ちしたのでめでたく起きたら右耳の方がどっかいっていた。 結果としてなんとか見つけたのだが、ベッドの上を大捜索して疲れたので上記の $ 9 $ 時まで二度寝をさせていただいた。

午前中しっかりと研究作業をした後、昼休憩に Twitter を閲覧。 昨晩 AtCoder 界隈をにぎわせていた tonakai とかいう人がアカウントを消したらしい。ワロス。 この人が何をしたのかと言うと、AtCoder Problems という有志の AtCoder の過去問まとめサービスでは最も速い回答に対して Fastest、最もバイト長が短いコードに対して Shortest と言ったちょっとした名誉みたいなものが与えられて、その数のランキングなんかも見られるようになっている。 某人は、他人のコードをコピペして非本質を換えたりして膨大な量の提出を行うことで Fastest を増やすという所業に出たのだ。 その他には脳死でテストケースを全埋め込みなどやりたい放題である。 誰しもやろうと思えば今までできたことだが、もともと有志サービスの名誉ランキングみたいなものだったので、そこまではやらないという暗黙のルールで成立していたコンテンツであるため結構燃えていたと思う。 意味のない長い変数名を挟んだり、インデントをなくすことで検知されないように図っているところや、CE の提出で反論を呈したりするのも実に小賢しくて僕は大好き(悪い意味で)なのだが、 実際に頑張ってチューニングした Fastest をあっさり奪われてしまった人からしたら笑えないだろう。

人のコードから高速化のアイディアを得る、テストケースが弱めなのを利用してコードを短くしたりする、といったことを今までもあったと思うし容認されてきたと思う。 アイディアを得てさらに高速化できた場合は、当人の+αのアイディアがあるから納得できるし、 後者に関してもテストケースが弱いのは問題の仕様だし、そもそもコンテスト中もそれで AC している人がいるので個人的には問題がないと思っている (脳死完全埋め込みはコンテストから完全に逸脱していると思っている)。 今回は、不正強奪とも呼べるそのやり口と、実際に奪取した数が膨大だったことで滅茶苦茶炎上したんじゃないかなと思う。

そういえば、ICPC の参加記全然書いてねえなと思いつつ昼飯を食べに部屋を出る。

昼飯はレトルトのハヤシライスを食べた。最近ケイジャンビーフチーズステーキ&ライスを食べていなくて恋しい。 来週は大学に行く暇があると良いな。完全にピアノの進捗次第ではあるが…

そんなこんなで今日は意外と集中して研究できて、18:00 になる。 退勤ボタンを押して日報を書こうと思ったら、なんかそのシステムに入ることが出来なくなっていて終わった。退勤だけして日報を書かない人になってしまった。 明日何とかしよう。

その後、すぐにピアノを弾き始める。1 時間ぐらい弾いたぐらいで先生に補講をしてもらえたのでそれに行く。 色々な有難い指摘を得て帰ってくる。本当は帰ってきてすぐにその確認を弾きながらしたいのだが飯もあるし時間も時間なので諦め。

最近は夜の時間が暇になってきたので、ここらでイラスト練習を再開してもいいな~と思いつつ、競プロももう一段上手くなりたいな~ということで CLIST を開く。 明日はインドと SRM があるらしい。インターセクションがあるので久々に SRM に出ようかな。

今日から始めようかと思ったが、正直今日は久々の「日常的な月曜日」だったのでのんびりさせていただくことにした。 明日からはイラスト練習を再開しようかなぁ。なんせ明日は出勤日ではないらしいので無敵なんだよな。

無敵だーとかいいながら忙しかった時期に更新があった Web 漫画や新刊が来ていた漫画を消化していく。 すると普通に良い時間になる。ちょっと競プロをやろうと思ったが、眠かったので風呂に入って寝た。

04/05 (TUE)

10:00 起床。出勤がないからと言って眠りまくった。しかもここから布団でスマホ弄りをしばらくしていたので実質動き出したのは 11:00 頃じゃないかと思う。 その後も微妙にタスクを消化したりしながら昼まで過ごした。

昼飯を食べた。昼飯を食べたらぼちぼち眠くなった(は?)のでごろごろスマホ弄りをずっとしていた。 15:30 頃にピアノを弾き始める。17:20 に一旦休憩に入る。 発表会が控えているため、練習量を増さなければならないのだが、このリモートワークのご時世だと家族が家にいてやりにくいところも多い。 そのため、ピアノの先生が空き時間のピアノを貸してくれるということになった。本当にありがたい、これも 17 年間習い続けた信用がなせるわざかもしれない。

そんなわけで 20:00 前ぐらいまで弾き続けて飯を食べるために家に帰る。 飯を食う。アジフライがうまかった。あと実家の料理は基本的に健康的なので本当に助かる。 このブログの見栄えをよくするために写真にとればよかった。

夕食後、飲み物を大量に買いに行くから荷物持ちをやってくれと母親に言われる。 死ぬほど飲み物を持つことになる。代わりに、自分で買う予定だった檸檬堂とおつまみと少年ジャンプをおごってもらった。 少年ジャンプを買ってもらう 23 歳 (もうすぐ 24 歳) 男性って…

今日からイラストの練習を再開するといったな、あれは嘘だ。 檸檬堂を飲み、おつまみを食べながらジャンプを読んでいたらとてもやる気が起きる気がしなかった。 完全にリアルタイムでこの週記を編集しているのだが、現時点で SRM に出場する気すら起きなくなっている。 多分出ないと思う。

出ませんでした(照) 完

完のあとになんか 1:30 ぐらいまでポケモン LEGEND アルセウスをプレイしていたのは内緒。

04/06 (WED)

今日も出勤はない。なぜならこの曜日は研究室に行っても誰もおらず、ピアノの稽古の日にしているためだ。 出勤がないことになれてしまい 11:30 起床。最悪。朝食を食べることを断念した。

昼食を食べる。実家は起きているだけで昼食が提供されるので本当に神。 D 進する身としては、いつ追い出されるのか戦々恐々としているが…

昼食を取ったらピアノを練習し始める。そこそこ練習した。結構本番のテンポを意識しつつ練習したらむしろ崩れてきてしまった。 一抹の不安を抱えながらもピアノ教室に向かう。 着くと一旦通しで弾くことになる。ゴミ下手くそだった。参った…助けてくれ。

色々と有難い指導を受けたので帰宅。帰宅してすぐは全然弾く気がしなくなってしまっていたので休憩する。 少し休憩してから夕方になったかぐらいの時間から夕食までずっと弾き続けていた。 かなりマシになってそろそろ録音でもするかと思った。 明日からは録音しようかな。

夕食を食べる。おいしい。 夕食後にイラスト練習再開するかとかも思ったが、ずっとピアノ弾いていた精神的疲れがあり断念。 21:30 になってようやく何かをやる気が起きたのでとりあえず週記の編集をした。 コンテストの確認をしたが、自分が出そうなコンテストは今日はないことがわかった。 とは言え、週末には ARC もあるので練習をしておいた方が良いかもしれない。

競技プログラミングをしようとしたら、急に腹痛が来た。別に心的要因ではなくたまに来る胃痛の周期だろう。 仕方ないので横になって漫画の消化をすることにした。

回復してきてふと明日から講義が開始することを思い出す。 しかしいくら自分が単位残りまくりのウンチ M2 だとしてもそんなに授業数はないので明日はないやろと思っていたら、普通にあった。 しかも今学期からほぼ全講義対面である。許せね~。 さらによくよく考えると、明日もピアノの練習を休むわけにはいかないが朝から大学に行くので 大学に置いてあるピアノで休憩時間にちょいちょい弾くでは足りない。つまり大学近くのスタジオでピアノをレンタルすることが確定になってしまった。

はぁ…明日は夜にピアノレンタルか~とか思っていたが、普通に明日が自分の誕生日であることを思い出す。 誕生日の夜に一人キャンパス近くでピアノを弾きながら「上手くなんね~」とか叫び散らかす人間にならなきゃいけないのかと思ったら、 本当に嫌な気持ちになってきた。 本当に悲しいのでせめて夕食メイツを募集することにした。見つからなくても粘り強い勧誘ツイートを明日はしようと思う。

そしてここまで書きながらよくよく確認したらスケジューリングを完全にミスっていて、 MTG と初回授業が被っているものがあった。 普通に最悪だ…。シラバスに教授の連絡先はないので、後輩に後でこっそり内容を教えてもらうか。

人生が下手だなあと感じつつ、明日は早いのでもう寝ることにする。0:00。

04/07 (THU)

誕生日!!!!!!!!!!!!!!!!! 24 歳になりました。まあそれ以上もそれ以下もないんですが… 7:30 起床。そろそろ普段の生活に戻さなくてはならない。 結構ギリギリに起きたのでそこそこ急いで家を出る。

行きの電車の途中で一限が 9:30 からではなく、9:00 からであることに気づく。始業がずっと 9:30 だったから錯覚していた。 初日から遅刻確定で気を重くしながら電車に揺られる。しかもこの時間の電車は普通に混んでいるので最悪。 15 分ぐらい遅刻して入室するも、まだ全然余裕だったぽくて安心した。

夜まで研究をするため、ピアノを弾くためには練習室を予約する必要があることを思い出す。 こんなギリギリで予約できるかなぁ…と思いながら日吉のピアノスタジオに電話をかけるとメンテナンス日で干からびていた。 その後も近辺のピアノスタジオを当たりまくったけど、バカ高いか空いてないかの二択で完全に終わっていた。 仕方ないので最終手段として、地元の先生の教室のピアノを使わせてもらえるように交渉をする。 大変ありがたいことに使わせてもらえることになり、一安心だった。 ピアノはマジで一日弾かないだけでタッチ感覚が天に召されてしまうため、本気で命拾いした。

安心感からか、研究はいつもより楽しく安定してできた。 睡眠が足りてないからか帰りの電車ではもうすでにクソ眠かったが、ここからピアノの練習が控えていた。 眠くなりながら、必死に抵抗して練習をした。1.5 h しか練習できなかったこともあり、そこまで上手くなったきがしなかったが 21:00 に完全に疲れ果てギブアップ。

このタイミングで夕食を食ってないことを思い出す。そりゃ体力持たないわ。 近くにマックがあるので、そこで夜マックさせていただくことにした。誕生日なので倍にした。 当然食べるバーガーはダブルチーズバーガー。チー牛の匠なので。

家に帰ると「誕生日おめでとう」と母親に言われる。そういえば今日は 1 日中外で活動をしていたが誕生日なんだよね。 手を洗ってうがいをしたら倒れ込むようにベッドに入る。 そのまま Twitter を監視したりもしていたような気がするが、気絶した。

04/08 (FRI)

気絶して起きたら、寝巻きにすらなっていないし 4:00 だしで散々だった。 二度寝を試みるも結局 5:30 ぐらいまで寝付けなかった。最終起床は 7:30。今日は一限がないのでこれで本当に大丈夫。

大学に着く。今日は初めての対面ゼミなので妙な緊張感がある。 というのも研究室に配属されてからというもの、某ウイルスの影響でずっとオンラインゼミだったからだ。 一発目が自分の発表回じゃなくて良かったという気持ちが強い。

作業をする。時間が経つ。後輩の発表を聞く。問題なさそう。 夕食はからやまで食べた。

夕食後、今日は練習室が予約で来たので入る。 ピアノの調律が若干狂ってそうで嫌な気持ちになるも、順応する。 外での練習環境を見つけないとそろそろちゃんと上手くなることができないような気がしてきた。 というかそもそも出先でできるゲームだから音ゲーにハマっている(家ゲーは積んでしまっている)みたいなことを考えると、 家で時間を取ってやる趣味というのは結構難しいなという風に感じるようになってきた。

練習中に LINE かなんかを見ると(見るな)、同期とかが近くで飲んでいることが分かった。 金曜なので練習後に混ざることにした。

f:id:spider_0859:20220411104055j:plain

大変良かった。蒸留酒で自分で思ったより出来上がっていたらしく、 家に帰って飲むヨーグルトを冷蔵庫から出す際かわりにスマホを格納するなどの珍行動をしてしまった。

04/09 (SAT)

11:30 起床。休日に起きられないの、そろそろやめた方がいいな。 だらだらしたのち、昼食をとる。

今日は音ゲー早慶戦SOUND VOLTEX 部門打ち上げがある。 その前にピアノを練習しなければならないので昼食後少し休憩ののち練習を開始する。 なんだか段々聴くに堪える演奏になりつつある。というかこんなに弾いてるんだからなってくれないと困るが。

そんなこんなで集合時間 5 分前ぐらいに待ち合わせの場所につく。 こういうのが久々すぎてかなり楽しかった。ボルテのモチベーションも結構上がった。忙しさ抜けたらやろ。

f:id:spider_0859:20220411105050p:plain:w300
ビアヒ 1 ニア。久々でもちゃんとおあずけを食らう。

二週間ぶりぐらいに音ゲーをやるが、メンテナンスが良くて全然プレイできた。 終電で帰ったのでシャワー浴びて就寝。

04/10 (SUN)

11:30 起床。休日、起きられない。 全日と全く同じ流れ。バカです。

今日はマジで愚かで、特に何をするでもなく昼過ぎまで過ごした。 昼過ぎ~夕方ぐらいにピアノを弾き始める。19:00 ぐらいまで弾き続けた。 結構左手に違和感を覚えるようになってしまったが、かなり練習が上手くいった気がする。

夕食後、ABC があるのだが今日は会議が入っていたのでそちらを優先する。 話している内に深夜になるので、今週の活動としてはこれが最後となった。

来週に向けてピアノを弾きまくって来週からはきっと研究が忙しくなる。 4 月をなんとか乗り切ってやりたい。

ICPC 2021 国内予選参加記

はじめに

ICPC 2021 国内予選に 202 Accepted という名前のチームで出場をしていました! 結果は,ABDE 4 完で $ 32 $ 位 の学内 $ 2 $ 位でおそらく通過となりました! よーし.ホスト校枠もおそらく温存かな? 去年ホスト校枠にすらひっかからず予選落ちした時は顔面ぐちゃぐちゃになっていたので本当によかった…

自分自身は BD を担当していました(詳しくは後述).

チームについて

チームメンバーは HayatoY, auaua, centipede_human です.使用言語は全員 C++. 後輩チームに一人今年 ICPC を引退する老の者が混ざった形となった.

「国内予選の時にはみんな黄色っぽいですね」みたいな話をしていたのに気づいたら本番時点で黄色は auaua くんだけになっていました. どうして…

個人的にはチームの構成自体は悪くないなと思っていました. 最近のコンテストで,それぞれのメンバーの結果が芳しくない場合でも OR を取ればまあ…みたいな回も結構あったような気がする. 具体的にどういう風に得意不得意を補っているのか全然よくわからないが,どうやら得意被りはあまりしていなさそうだった. $ 3 $ 月までにお互いの傾向をよりよく知れたら本番のムーブ改善につながるだろうか.

実際,模擬国内でもまあまあぐらいのパフォーマンスで通常選抜圏内だったので流石に国内通過はいけるやろ(というかいけてくれ)と思っていた.

個人的な近況報告

完全に話が横道に逸れるが,個人的な近況のお話.

自分は最近競技プログラミングをする時間が全然取れなくて, 競プロ備忘録であるこのブログで週記を更新していいのか?みたいな気分になりしばらく更新見送りをしていた. (一瞬復帰したけど,競プロやってなさすぎてなんか違うなと思った)

ICPC があるということで最近は無理やり時間を作って一日に最低でも $ 1,2 $ 問は通したり, コンテストには出来るだけ出席するようにしたりした. とはいえ,Codeforeces や SRM には参加できておらず怠慢… すっかり色々なものが脱落していたり遅刻しまくったりして AtCoder のレートは現在すっかり青になってしまった.

直前期は AOJ-ICPC の難しくない問題を使って,毎日 ICPC の問題慣らしみたいなことだけはやっていた. C++getline 関数の扱いなんかすっかり忘れていました. あと準備と言えば,ICPC 国内のデータセットってそんな強い印象がないので近似ソルバみたいなものが効きやすいのではないかと 考えて,そこらへんの準備も一応していた.

本番

直前まで研究に関するミーティングをしていた.正直かなり怒られると思っていたけど全然そんなことなかったのでむしろ怖かった.

自分は恐るべき早解き苦手人間な上にいきなり難易度の高い問題を取り組めない人間なので, A 問題は Hayato くん, C 問題は auaua くんに投げて自分は B 問題を担当.

B 問題は $ H \times W $ マス計算答えから一意に問題を求められるか?みたいな問題.読解が苦手なので困った. ちょっとすると Hayato くんが A 問題を通したと聞いたので D 問題を読んでもらうことに. 上部の最左の数字が $ 0 $ と決まっているので,同一行に数字が書かれていたら推移的に決まっていくなと思い, じゃあ連結性の判定で終了ですねとなる.しかし,今回は差も重要なので心が慎重になっていた. ポテンシャル付き UnionFind を持ち出そうとするも,あまりに早く通されているので問題文をもう一度よく読むと 解は最低一個はあるようなので単純な連結性判定だけでよさそうだ.(本当は Input の部分にも書いてほしかったぜ) AC.少々遅れた.

Hayato くんが D は難しそうで E が解けそうなので E を見ると言っていたので D を読む. 順位表を見るに,D が一番実装と考察のバランス的にマシっぽい. 設定も単純で数列があって,「非 $ 0 $ の最左 $ 3 $ つの要素から $ 1 $ ずつ取る」操作を繰り返す. 数列を自由に並び替えられる時,最大の操作回数を求めよという問題.

制約が要素数,要素の大きさともに $ 50 $ 以下というかなり緩め. Hayato くんが最後に残す要素を固定すれば,嬉しそうな見た目をしているがそう簡単でもなさそうと言っていた. 確かに,最後の要素から逆操作をしそうな見た目をしているが結局分岐しまくって全然うれしそうじゃないし 残りソートとかしても全然できそうにない. ここまでの感じから DP っぽさを感じたがこの方向性だと DP すらきつい.

C が重い全方位木 DP と言って頑張ってくれている auaua くんと E が結構面倒くさいけど解けると言ってる Hayato くんたちに 「D 難しいよ~」などとぼやきながら順位表を見ると続々と D が通されていてかなり焦る.

残すものを考える方針が厳しそうなので,一旦フラットな気持ちになって棒グラフみたいのを書いてサンプルを手で実行してみる. 「一番低い棒グラフの高さで切り取って右から新しい棒グラフをもってくる」をしたときに,いやこれ「無になった上に積み重ねる」のと同義だと気づく.ちょっと考えると,適当に積み重ねて $ 3 $ つの高さの最小で良いと証明できる. 不可能な積み重ね方もあるが,最適解には絡まないので無視できる. 脳を無にすると添え字を $ 3 $ 本の棒グラフの高さにする三次元 DP を思いつくが bool の DP は無駄だと古事記にも書かれているので,($ 2 $ 本の高さ - 最低の棒グラフの高さ) を添え字に持って値として最低の棒グラフの高さを値として持つことによって次元を落とすことに成功. 定数倍を雑に書きすぎたせいか重いので O2 オプションを付けて実行すると速い.一個目のデータを通る. 二個目のデータでなぜかランタイムエラー.メモリ系のエラーらしい.free() のサイズがおかしいと言われるがどう考えても std::vector の内部の話なので参る.ここで時間を浪費

時系列が前後するが,E 問題が解けそうだが重いことから F を auaua くん Hayato くんの二人で話合っていて 反例を見つけたり見つけなかったりしていて,つらそうだったので順位表を見ると流石に 4 完はしないとマズそうで F は厳しい問題っぽいので重そうな E をそろそろ先にやったらどうかという提案おじさんになっていた.

時系列は戻って E を通して再び F に取り掛かる Hayato くんが D のデバッグ手伝いますと言われたのでコードを投げる. 遷移で境界違反してそうと言われ,そうかなあとか戯けたこと抜かしながら見ると DP 初心者みたいな境界違反をしていた. 取り急ぎ直すと二個目のデータが通る.コードが変わっているので三個目のデータを通して AC. コード間違っていたのにペナにならなかったのは普段の行いかな?w

この時点で順位表を見ると,F を通しているチームは非常に少なく厳しそうなので,auaua くんの C のデバッグを全員でやってみる. とはいえ,自分はとくになにもできず試して起こった現象について述べているだけの人になっていた. 最終的にバグ取れたと思いきや二個目のデータで WA

ここでコンテストが終了.割と全員が苦しんでいたが,なんとか耐えました. CE 問題はジャッジが来たら実装練習としてやろうかな. D 問題も高速化できると思うのでしっかりとやっていこうな.

おわりに

僕の ICPC はまだもうちょっとだけ続くんじゃ.

P.S. 今 202 Accepted の PG BATTLE の順位見たけど 14 位なのな.思ってたより高い.僕ましゅまろ遅解き担当だけど.