k-bonacci 数列の母関数

k-bonacci 数列の母関数, ぱっと頭に思い浮かびますか? 僕は思い浮かびませんでした ということで頑張って求めてみます 数列 について とする この数列の母関数 を として, 閉形式を考える を移項して 両辺割れば 最初のほうを にすれば分母がもっときれい…

歳をとりました

らしい 大学に入ってからというもの, 自分の歳や誕生日というものを全然意識しなくなってしまった 自分が今何歳なのかは覚えていないし, 今日誕生日だったなということをTwitterの風船で気づいた そもそも時期的に人と会わないしね いろいろと変わる年になる…

文字列に含まれる回文の種類数は高々 |S| 種類

はじめに 長さ N の文字列 S を考えます S の空でない部分文字列 (N(N - 1)/2 通りあります) のうち, 回文であるようなものは高々 N 種類しか存在しない らしいです N を達成するのは簡単で, 全部違う文字にすればいいです けどここから増やす方法は存在しな…

ICPC2022アジア地区参加記

でたよ 0日目 宿の手配とかは全部やってもらってたので何もしていなかったが, そういえば検索ができないことを思い出したのでICPC用のライブラリを作ることにした 遅延セグ木とかFFTとかそういうのを短めにしたやつを印刷した 荷物を準備して寝る… と見せか…

ABC281 - Ex を非再帰で書いた

タイトルのままです 再帰アレルギーの方のために じゃなくて普通にこっち先に思い付いた 方針は公式解説と同じです 別にそんな速くはなさそう 二冪の prefix にFFT のマージテクでできたやつかけていけばいいよねってだけ 自分の NTT でやったら 661ms で AC…

あほこらを理解した

メモ書き 普通に Trie 生やしたあと今見てるノードの表す文字列の suffix のうち辞書の文字列の prefix として存在するようなものの中で最も長いものに link を繋ぐ というのは知っていたが, なぜこれで上手くいくのかさっぱりわかっていなかった 例えば辞書…

区間に漸化式で表される数列を足すタイプの imos法

No.1172 Add Recursive Sequence - yukicoder この問題のことです 頭が悪くて解説がすぐには理解できなかったので整理用にメモ めんどうなので は 0-based-index, は反転して考えます に足す というのを に を足して から を引く と考えると に の定数倍を足…

AHC013 参加記

問題文を開く どう頑張っても実装がだるそうでやる気がなくなる サンプルコードが配布されていることに気づく そのまま出すと全人類だしてる点数が出る メンバのメルセンヌ・ツイスターをグローバルに出して時間いっぱい solver を回して一番いいやつを出力…

【Jstris】20+n TSD のやり方

はじめに みんな大好き20TSD, 普通にLSTすれば21くらいまではワンチャンあるけどそれより上はどうすへばいいの? そんなあなたにJstris! 僕と記録を競いませんか? 前提知識 テトリスの致死判定について これは テトリミノの出現位置にすでにブロックが存在…

セグ木に関数を持たせるのやめて代数的構造を作ることにした

しました 動的セグ木とかいろいろ作ったやつはまだ放置しています(ポインタとか適当すぎたしどうせならまとめて書き直したい) セグ木を最近生やさなすぎてどんな代数的構造を用意しておけばいいのか全然思いつきません 誰か教えてください 無駄に区間等差数…

ICPC 2022国内予選 参加期

実は出ていた 競プロ自体モチベがなくてそこまでやる気はなかったが, せっかく誘ってもらったので頑張るかぁという感じ とりあえず最初はABC並列で解くことになっていたが, 何故かAtCoderのレートは僕がいちばん高かったのでCに回される 去年の嫌な記憶が蘇…

分割数 p(n) を高速に求める

競プロにおいて分割数は を 個の非負整数の和で表す方法の数 (ただし, 順番は区別しない) であり, 計算量オーダーが である dp が(蟻本などに載っており)有名である しかし, 一般に数論の世界で分割数というと を自然数の和で表す方法 であり, である これは…

AHC011 参加記

絶対いらないけど色変したしてきとうに 順位表 1152826674点で228位でした 二時間ちょいくらいで取って色も変わったのでコスパ的にまぁまぁかなという気持ち やったこと 問題の第一印象 とても面白そう + めちゃくちゃめんどくさそう 初回提出 こんかいの自…

Count Subset Sum

はじめに Library Checker さんの Subset Sum Library Checker を解いたのですが, 日本語の解説がぱっと見なさそう? なので書いておきます (タイトルに数式を入れる方法がわからなかったので Count Subset Sum としました やり方知ってる方がいたら教えてく…

包除原理の基礎的な話

はじめに 包除原理を知っていますか? 私は知っています 知ってはいますが, 全然使いこなせていないし使うたびに頭が壊れてしまって 「答えが合ったので, ヨシ!!」と提出してしまうので, ちゃんと勉強しようと思いました この記事はそのまとめです 本文 とりあ…

Cipolla's algorithm (素数 mod 上の平方根)

はじめに 素数 mod 上の平方根を求める方法を勉強したので, 軽くまとめます 体とか同型とかそういう言葉を使わないように書いていきたいと思っています ちゃんと勉強したい人は 37zigenさんのブログ を読んでください やりたいこと 素数 と 整数 が与えられ…

Meissel–Lehmer algorithm (N以下の素数の数)

はじめに Meissel–Lehmer algorithm ってな~~~に? Library-Checker の問題のひとつ, Counting Primes 以下の素数の個数を求めてください これどうやってやるんですか? ってことで調べたら出てきました 概要 思考をまとめるためにほとんどwiki写しただけ…

彩色数を求めるアルゴリズム

このスライド を読めばだいたいわかります 個人的に詰まったところメモ 最初の言いかえ グラフ が 彩色可能 を 個の独立集合で被覆できる について, 個の独立集合は直交していなければいけないというような条件はない(それはそうで, 彩色で 色全部使わなく…

たまに見かける三種類の文字の二項演算について

はじめに 三種類の文字 があって 二つの文字 について のとき を返す のとき とも とも異なる文字を返す というような二項演算が出てくる問題をたまに 見かけます こういう問題の解説を見るとよくわからない天才的な変換が書いてあることがしばしばあると思…

【作ってみた】二次元 Disjoint Sparse Table【なにこれ】

導入 訳あってSparse Tableについて調べていたのだが、こんな記事を見つけてしまった この記事では「二次元のRmQクエリを高速に処理をする方法」として書かれているが、演算部分を抽象化することにより一般的な冪等半群のクエリを処理することができる二次元…

青コーダーになりました(現実)

初めに 色変記事的な言いたいことはだいたい こっち に書いたのでそちらを見てください 本文 SOMPO HD プログラミングコンテスト2021(AtCoder Beginner Contest 192) にて、ついに 青コーダーになりました!!!!!!!!!!!! Ratingグラフ とても嬉し…

青コーダーになりたかった

はじめに みなさん色変記事は好きですか? 僕は好きです いろいろな人の、勉強方法・考え方・小ネタ・よくわからないものなど、読んでいてためになったり、そうでなくても面白いですね ということで、このたびAtCoderのレーティングが1600を超え、ついに青コ…

[AtCoder] ABC 182 D - Wandering

言いたいことはすべてコードに書きました (C++です) 解説 とそれを踏まえての スタイリッシュアクション です。

ざっくりNIMの説明と証明

はじめに 前日、AtCoder Regular Contest 105 で、NIMを応用させた問題が出題されました それを受けて、この機会に復習することにしました この手の知見をまとめた記事は飽和しているかと思いますが、自分の思考を整理するためにも記事にしてみました NIMに…

AtCoder Beginner Contest 170 解説

書き方わからないんですが、お試しで書いてみよう というお気持ちです 何故か全問書いた上にコードも載せてるので1個1個がめっちゃ短いです 解答例のコードはC++です ABC170 A問題 Five Variables B問題 Crane and Turtle C問題 Forbidden List D問題 Not Di…