ブログ名

競技プログラミングやお歌のお話をする高菜です。

rust-analyzer さんに auto-import をしていただくためには、$($e:expr,)* をしてはいけません。

rust-analyzer さん、マクロの中で auto-import をしていただけたり、しなかったりしますよね。 問題 ↓のパターンで、NAME と入力したら、use module::NAME; の挿入がサジェストされていただきたいですよね。できません。 fn main() { expr_macro! { NAME } …

鏡映群(コクセター群)を調べて ARC 155 A - ST and TS Palindrome を解きましょう

問題リンク: A - ST and TS Palindrome 私「これ SS' and S'S Palindrome では?」 chokudai さん「うるへぇ」 無限文字列 $U$ の定義 左右に無限に続く文字列 $U = \cdots STSTSTST \cdots$ を考えるとよいです。 文字のインデックスは、ある $S$ の先頭が …

ユークリッドの互除法を、めっちゃ解説します! 拡張ユークリッド、有理数復元などです

ユークリッドの互除法 (Euclidean algorithm) といえば最小公倍数 (GCD) を計算するためのアルゴリズムですけれども、拡張することでモジュラー逆元、有理数復元などなど便利なことができることはみなさまご存知。ご存知…… アッ、じゃあこの記事いらないです…

TikZJAX を使った記事

描画結果 パフォーマンス ウーンム 参考 TikZJax TikZJax-live はてなブログでTikZjaxを利用する(オンラインのTikZ) - a_muneniku_soreの日記

AI は高くて買えません! 手書きで書いた AI っぽい記事: 二分探索完全解説

二分探索 (binary search) は、ある値との大小関係を繰り返し尋ねることで秘密の数値を特定する効率的なアルゴリズムです。秘密の値が整数であると仮定でできるとき、値の上限と下限の あーなんですかこれもう疲れました。 $[l, r[$ にあるとわかっていたら …

8/9 (日) 下北沢 WAVER お歌ライブ告知

概要 申し訳ありません! 数ヶ月の YouTube 下火の理由のひとつでした。 8/9 (日) 下北沢 WAVER で開催される、お歌ライブに出演します!チケットを購入して会場へ GO! です。 あと拡散希望です。 説明 初めてのことで大変でしたが、なんとか1曲、形にできま…

FPS 逆元計算の 5/6 倍高速化 —— めざせ 10 ℱₙ (n は 2 冪)

前回: 形式的冪級数のニュートン法 (2次収束性の証明) - ブログ名 導入 ニュートン法のボトルネックは FFT / IFFT です。長さ $n$ の配列を FFT or IFFT する計算量を $\mathcal{F} _ n$ とすると、ニュートン法の計算量は $k \cdot \mathcal{F} _ n + O(n)$…

形式的冪級数のニュートン法 (2次収束性の証明)

導入 形式的冪級数 $f(x) \in k [ [ x ] ]$ に対して、$1 / f, \ \sqrt{f}, \ \exp{f}$ などを計算する手法として、ニュートン法がありますね。これは欲しい形式的冪級数 $g(x) \in k [ [ x ] ]$ をある方程式 $\varphi(g) = 0$ ($\varphi$ も形式的冪級数)…

3 の倍数と 3 がつく数のときにもアホになるながたかな

い~~~ち(☝ ՞ਊ ՞)☝ に(☝ ՞ਊ ՞)☝ さ~~~ん(☝ ՞ਊ ՞)☝ よ~~~ん(☝ ՞ਊ ՞)☝ じゃない し(☝ ՞ਊ ՞)☝ ご(☝ ՞ਊ ՞)☝ ろ~~~く(☝ ՞ਊ ՞)☝ し~~~ち(☝ ՞ਊ ՞)☝ は~~~ち(☝ ՞ਊ ՞)☝ きゅう~~(☝ ՞ਊ ՞)☝ じゅう(☝ ՞ਊ ՞)☝

その日 BinaryHeap は思い出しました。std に支配されていた恐怖を…… Reversed の中に囚われていた屈辱を!

みなさまは BinaryHeap<Reversed<i32>> がお嫌いです。 なぜかというと、いやまあ良いのですよ、型定義が複雑になる分には…… let mut heap = BinaryHeap<Reversed<i32>>::new(); heap.push(Reversed(42)); heap.push(Reversed(43)); let Reversed(x) = heap.pop().unwrap(); assert_eq!(x</reversed<i32></reversed<i32>…

Rust 1.77 で入った chunk 系機能を使うと(deque 系の) Convex Hull Trick が楽に書けます

愉快な仲間たち {slice}::first_chunk() (1.77) {slice}::last_chunk() (1.77) 使い方 last().is_some_or() などでやっていたようなことを、複数要素でもできますね!? 例 問題: C - スペースエクスプローラー高橋君 提出: https://atcoder.jp/contests/col…

Convex Hull Trick は双対を考えると間違えづらいです

直線 $y = ax + b$ を点 $(a, b)$ に関連づける双対を考えましょう。 詳しいことはこちらの動画をご覧ください https://www.youtube.com/watch?v=UYicZQGmc5E&list=PLMDFPuH4ZxUGe-qreA6cde5g7PywDvrsD&index=10 Convex Hull Trick 直線族の各点最小値に興…

Rust の Either でグリッド上の zig-zag 経路を生成する簡単な方法

競技プログラミングで、↓ みたいな形の経路を生成したくなることはありませんでしょうか。 ─────┐ ┌────┘ └────┐ ┌────┘ └───── みなさま「あります。」 出題例「これです。 https://atcoder.jp/contests/abc069/tasks/arc080_b 」 方法 1(推奨): Either …

新春・全キャラに勝利しなければ終われない VIP チャレンジ!

やりません。代わりにこれにかかるお時間を数学で推定しましょう。 問題設定 とりあえず知りたいのは期待値ですよね。というわけで、次のような問題を考えます: 問題 ファイターの総数 $N (= 88)$、各ファイター $i$ が対戦相手になる確率 $p _ i$ 、各ファ…

2026 年美味しかったものランキング

2026 年にいただいた食べ物、飲み物で、美味しかったものをご紹介します。 第一位: 甘酒 美味しかったです。 第二位: 焼き餅 毎日いただきたい美味しさです。 第三位: コーヒー 変わらぬ美味しさです。 まとめ いかがでしたか? 集計期間が 14 時間と、異例…

2025 年にあったこと・公開した歌ってみた動画リスト

過去ログ 2024: 2023年振り返り&2024年の目標 - ブログ名 2023: 2023年の目標と、旧年の振り返り - ブログ名 2021: 2021年の目標について - ブログ名 2020: 2020年の抱負 - ブログ名 2025 年にあったこと(お歌) 今年は 20 本の動画を出して、累計本数が 6…

1998年東大後期数学第3問 解けました

新規性はないのですが、解けて嬉しかったため記念に書いていきます。 解法 $n = 0, 1 \pmod 3$ のときに可能で、$n = 2 \pmod 3$ のときには不可能です。前者は易しいので後者を示します。そのために不変量を定義します。 不変量 $ι(P)$ の定義 $n$ 頂点白黒…

速いRustコードを書きたい

PC を持って飛行機に乗りましょう。 あとは出発を待ってコーディングをするだけです。

[テスト]TikZ 図のあるコード

https://tikzjax.com を使ってTikZ 図をレンダーするテストです。(ちょっとレンダーが遅い……) どれくらい遅いかというと、うちの PC をブオォォオと唸らせた挙げ句数秒後にやっとレンダーされます。スマホで見たら 12 秒掛かりました。これはなんですか? …

逆元が取れないとき(合成数 mod など)の等比数列の和の求め方

問題 $m$ を $1$ 以上の整数とします。$x \in \mathbb{Z}/m\mathbb{Z}, n \in \mathbb{Z}_{\ge 0}$ が与えられるので、 $$ \sum_{i = 0}^{n - 1} x ^ i \pmod m $$ を計算してください。 出題例 ABC 429 G - Sum of Pow of Mod of Linear (ちょっとかなり全…

お財布がコンパクトな通貨はどこだ! 9999円以下、$99.99以下、€199.99以下のお金の枚数平均

お財布の中にお金って、何枚あるものなのでしょうかね。 というわけで! 日本円、米ドル、ユーロについて、金額を表すときの最小枚数を、最高額面未満の金額について平均を取ってみましょう。 記法 $1 = a_1 < a_2 < \dots < a_k$ 貨幣を用いて金額を表すと…

【スマブラ】メインキャラのカービィで VIP に行きました

メインキャラのカービィで VIP に行きました。 とはいえ苦戦してしまいました。まだまだ強くなりたいのですけれども、先が思いやられますね;; 私のスマブラ歴 プレイ時間: 725 時間以上 要した期間: 2024/06/28 初起動 → 2025/09/07 達成 オンライン試合数…

【Windows】PowerToys で Ctrl を含むキーの入れ替えを設定したときに、Ctrl が押しっぱなしになる問題について

問題 要約 Ctrl + Alt + (文字) を同時押しして離すと、Ctrl キーが押しっぱなしの状態になる。 環境 Windows 11 Home Power Toys v0.93.0 REALFORCE R3 KEYBOARD R3HD 21 PowerToys で Caps Lock を Ctrl (Left) に割り当て Ctrl (Left) を Caps Lock に割…

[テスト]擬似コードのある記事

pseudocode.js を使って擬似コードをレンダーするテストです。 普通の数式 インライン 私の名前は $x + y = z$ です。 別業立て こんにちは。 $$ x + y = z $$ ありがとう。 擬似コード \begin{algorithm} \caption{Quicksort} \begin{algorithmic} \PROCEDU…

【スマブラ】カービィの緩和行動 (※ わかりません)

目的 多段ジャンプキャラはジャンプで緩和できるとかできないとか、 参考文献(検証 Wiki) w.atwiki.jp 検証 ロックマンの横スマフルホールド 終点初期位置、ロックマンの横スマフルホールド、OP相殺ON新品。 ベク変 緩和行動 バースト% 無抵抗 無抵抗 82% …

【スマブラ】台降りの仕様

この記事では「台降り」は、台の上でLステを下に弾き入力して、台をすり抜けることを指すことにします。(台すり抜けのほうが正しい? 用語がわかりません。https://www.youtube.com/watch?v=Hltv_nULz30 とか「台すり抜け」ですし。) 参考文献(検証 Wiki…

色恋沙汰は全て作図で解決可能であることの証明

補題 色恋沙汰はありません。 証明 あとは爆発律です。

個人的に嬉しい、AtCoder の Rust 言語アップデートで変わるもの一覧(Rust 1.70 → Rust 1.86)

気が早いですが、纏めてしまいました。まだ AtCoder に入るバージョンが確定はしていないと思いますので、変わったらまた更新しようと思います。 特に嬉しいもの まずはぶっちぎりで LazyCell です。他には pop_if, div_ceil, isqrt, is_none_or, get_disjoi…

1..=N の階乗逆数・ただの逆数を O(N) 時間で前計算する方法(mod p)

$N$ を正整数、$p$ を素数、$N < p$ とし、ともにワードサイズに収まると仮定します。 各方法について、「インクリメンタル: OK/NG」、「割り算: ○回使う/使わない」を記していきます。 $N$ までの前計算ができているときに、定数時間で $N + 1$ までの前計…

買ってよかったもの一覧

ThinkPad のキーボード デスクに常設するキーボードには引き続き Realforce を使っているのですが、携帯用に購入しました。 打鍵感は期待していなかったのですが、思ったよりは随分良いと感じました。少なくとも Let's Note のキーボードとは段違いです。 ま…