イバコの生存記録

いまは競プロ(AtCoder)記事がメインです。

75. 2022年2月の振り返り

月終わりなので今月の振り返りを書きます。 ibako-piyo.hatenablog.com 今月の振り返り 今月の学習テーマ: プライベート○ 相変わらず競技プログラミングに熱中していて、そちらの方は学習がだいぶ進みました。逆に熱中しすぎて、Flutter 向け OSS の方が全く…

74. 【入緑】AtCoder参加記録(AtCoder Beginner Contest 241)

現状です。8回参加でレート 829 です。緑になりました!レート正常化まであと1回(のはず)。 今回はパフォーマンス 1305 で、過去最高でした。なんと水色パフォです! ABCEを通して、DはTLE、FGExは未解答です。Eで1ペナです。 各問題の感想です。 A いつも…

73. マンハッタン距離は45度回転…がイマイチ納得できないので証明する

2次元座標系における点 と点 間のマンハッタン距離 は、 と定義されます。簡単に言うと「斜め移動はできず、縦横方向にしか動けない場合の距離」です。 マンハッタン距離上図では、中央の緑マスからのマンハッタン距離を各マスに記しています。また、中央か…

72. AtCoder参加記録(AtCoder Beginner Contest 240)

現状です。7回参加でレート 729 です。レート正常化まであと2回(のはず)。 今回はパフォーマンス 928 でした。ABCDを通して、EはWA、FGExは未解答です。Cで1ペナです。 各問題の感想です。 A 差の絶対値が1か9ならOKです。 B HashSetを使えばOKです。 C 普…

71. AtCoder参加記録(AtCoder Beginner Contest 239)

現状です。6回参加でレート 694 です。レート正常化まであと3回(のはず)。 今回はパフォーマンス 1120 でした(自己ベスト更新!)。ABCDEを通して、FGExは未解答です。Bで1ペナ、Eで2ペナです。 各問題の感想です。 A なんか色々書いてますが、要するに書…

70. ランダムアクセスが O(1) で可能な双方向リスト

双方向リストは、片方向リストと比較して「前後両方のノードへのポインタを持つ」という点が特徴です。C# では LinkedList として実装されています。 双方向リスト 双方向リストは、以下のような特徴を持ちます。 先頭・末尾への要素追加が で可能 (そのノー…

69. (アイデアメモ) ランダムアクセスが O(1) で可能な双方向リスト

今日はアイデアのメモ書きです。 双方向リストは追加・削除が で可能なデータ構造です。しかし、ある要素が含まれているかを探そうとすると の計算量になります。 ただ、ちょっと工夫すればこれも に落とせそうな上、(若干扱えるデータの範囲は狭くなります…

68. 「エラトステネスの篩」の計算量はとりあえず O(N log N) で抑えられる

「エラトステネスの篩」は素数列挙に使われる効率的なアルゴリズムです。 「2」から「対象とする最大値」までを「素数候補」とする 残っている数のうち最小値を「素数」と判定して「素数候補」から除外する 2. で素数と判定した倍数を、全て「素数候補」から…

67. C# による遅延評価セグメント木の抽象化実装

競技プログラミングでよく使われる「セグメント木」というデータ構造があります。 これは、配列データに対して2のべき乗区間ごとに「合計値」「最大値」など注目したい演算を適用しておき、任意の区間に対する演算結果を で取得できるものです。 セグメント…

66. 叡山電車×東方Project のARスタンプラリーに参加した話

今日は余った有休を突っ込んでいた日でした。せっかくなので、久々に外へ出てみようと「叡山電車×東方Project」のコラボ企画に参加しました。 travel.watch.impress.co.jp 東方Projectについてですが、10~15年前頃かなりハマっていて、当時出ていた原作は全…

65. AtCoder 参加できなかった記録

今日も ABC に参加しようとしていたのですが、開始10分前くらいに AtCoder が落ちてしまい、結局復旧できないまま中止となってしまいました。 【ABC239】22:00~のコンテストが実施できる見込みが立たないため、本日のコンテストは中止させていただきます。申…

64. 行動の習慣化ができてきた

特別記事にすることが無いので今日も雑記です。 今日は6時に起床できました。最近行動の習慣化が進んできて、朝起きたときに Anki で30分ほど単語学習し、1日10分ビジネス英語を1問解き、Podcast で1日5分ビジネス英語を聞いています。 単語学習についてはだ…

63. 何もしないをしている

昨日まで朝6時に起きてみる早起きチャレンジをしていたのですが、今日無理が祟ったのかアラームを止めてからまた寝落ちして、始業5分前に目覚めてしまいました。 朝イチでミーティングが入っていたので焦りました。幸い在宅勤務なので何とかなりましたが…。 …

62. 『ポケモンレジェンズ アルセウス』が面白い

時間が無限に溶けそうなのであえて時間を区切りつつプレイしているのですが、このゲームかなり面白いです。 www.pokemon.co.jp このゲーム、骨格だけ見れば従来のポケモンと何ら変わりなく、 ポケモン図鑑の完成をモチベーションに、野生のポケモンを捕獲す…

61. AtCoder参加記録(AtCoder Beginner Contest 238)

現状です。5回参加でレート 596 です。ここから正しいレートが出るのかと思っていましたが、9回参加しないとダメみたいです。 今回はパフォーマンス 900 でした。ABCを通して、DでWA、EFGExは未解答です。 各問題の感想です。 A これA問題か…?と疑う難易度…

60. Vocabulary Test やってみた

英語学習を再開して間もないですが、とりあえず今の時点でどの程度の語彙力があるのか測ってみました。Webサービスが色々とあるようですが、「Weblio語彙力診断テスト」と「Test your vocab」をやってみました。 「Weblio語彙力診断テスト」は、1問10秒で英…

59. ユークリッドの互除法の証明の行間を埋める

私の世代は授業として整数を扱わなかったので、ユークリッドの互除法についても「名前はよく聞く」くらいで実態は毎回調べていました。 そんなことを人生で10回くらい繰り返している気がするので、そろそろ証明をちゃんと理解してメソッドを覚えたいと思いま…

58. 調和級数がだいたい log N で押さえられる話

今日こちらの問題を解いていて、途中で調和級数的なものが出てきました。atcoder.jp この問題自体は残念ながら までしか落とせなくて自力では解けなかったのですが、 へ落とす発想として色々弄っていると調和級数的なものが出てきたのでした。調和級数とは以…

57. 2022年2月のマニフェスト

今月のやることリストです。今年の目標は以下の記事。 ibako-piyo.hatenablog.com 今月の学習テーマ 仕事なんですが、ちょっと忙しくなってしまいフリー学習を行う余裕が無くなりました。そのため、今月は仕事での学習テーマは設けません。 プライベートでは…

56. 2022年1月の振り返り

月終わりなので今月の振り返りを書きます。 ibako-piyo.hatenablog.com 今月の振り返り 今月の学習テーマ: 仕事×、プライベート× 仕事については、ちょっとフリー学習をするほど余裕がなくなってしまいました。やらなければならないことが多い状態なので、残…

55. AtCoder参加記録(AtCoder Beginner Contest 237)

現状です。4回参加でレート530です。ここまでが調整期間で、次回からちゃんとしたレートが出るようになるみたいです。 今回はパフォーマンス974でした。ABCDを通して、EFGExは未解答です。 各問題の感想です。 A 恒例のやるだけ問題です。 前回は3分24秒で通…

54. ライブラリのバグを疑ったけど普通に実装ミスだった話

今日は「競プロ典型 90問」の第12問を解いていました。atcoder.jp問題概要としては、 のマス目があり、1マス赤塗りするか、現在の状態で指定されたマスから「赤マスである箇所」だけを通って指定されたマスへ移動できるか、という判定を行うものです。愚直に…

53. マスターデュエルを始めた話と遊戯王の思い出について

最近、遊戯王をオンラインで遊べる「マスターデュエル」がリリースされました。周りでかなり流行っているので、私も久々に…と触ってみています。基本プレイ無料なのですが、無料でも使えるカードがかなり多く、なるほどこれは流行るわけだ、となっています。…

52. ゲームにおける時刻変更ペナルティの話

「どうぶつの森」などのゲーム機本体時刻が重要となるゲームでは、時刻変更時のペナルティが設けられていることがあります。これって、考えてみるとなかなか不思議な機能です。なぜなら、ゲームそのもので仕組みが完結しないからです。 たとえば、ゲーム終了…

51. 今日は頭が寝ている日

今日はいまいち調子が悪く、あんまり進捗ありませんでした。 とりあえず、昨日積み残していた競プロ典型90問の問9をACしました。 atcoder.jp この問題は全探索による解法は浮かんで、でも だから無理だなぁ、と思いました。ただ、とりあえず書けることが大事…

50. 対数時間 O(logN) って思った以上に速い話

計算量で対数時間 というものをよく見かけると思いますが、これが具体的にどの程度のものか、感覚で理解してみます。 まず大前提として、 の底は(計算機科学においては一般に)2 です。何故 2 なのかというと、分割統治法の考え方で問題サイズを半分にする…

49. 【入茶】AtCoder参加記録(AtCoder Beginner Contest 236)

現状です。3回参加でとりあえず茶色に乗りました(5回参加するまでは低めのレートが出るようです)。 前回はパフォーマンスが1091でしたが、今回は772でだいぶ落ちてしまいました。というのも、前回まで4問解けていたのですが、今回は3問しか解けなかったで…

48. 競プロでも文字列の扱いは少し慎重になった方が良い話

今日は「競プロ典型90問」を解いていました。atcoder.jp 第4問で 行列の出力を求められるのですが、初めは(計算量的に自信があったので)かなり適当に考えて、このような処理を書いていました。 for(var i = 0; i < input.H; i++) { for(var j = 0; j < inp…

47. ラムダ式の再帰を書きたかった話

仕事でコードを書いていて、ふとラムダ式で再帰処理を書きたくなりました。 privateメソッドやローカル関数で定義すれば良いと言えばそうなのですが、その場限りの微妙に複雑な処理なので変数にバインドしたかった感じです。通常のメソッドでは以下のように…

46. "detergent" の意味(日本語訳)に納得感が無い件

最近英語を勉強していて、detergent という単語を覚えました。…と言うよりも、覚えようとしていますが全然覚えられません。 皆さん、これの日本語訳分かりますか? 答えは「洗剤」です。全然分からない。検索してみると、面白いことに似たような感想を持つ方…