Daily AlpacaHack B-SIDE 2026/4/25–2026/4/30 の write-up です。 alpacahack.com std::sort(begin(), end(), [](){ return cin.get() == 'r'; }); std::sort(RandomIt first, RandomIt last, Compare comp) の事前条件として、Compare が strict weak orde…
Daily AlpacaHack 2026/3/28 の write-up です。 alpacahack.com 解法 あとがき おわり 解法 下手なエンコーディング方式あるあるとして、encode(x) == x かつ decode(x) != x となるような x がありそうです。 それはそれとして、探すの大変そうだな〜とい…
Daily AlpacaHack B-SIDE 2026/3/19–2026/3/22 の author’s write-up です。 alpacahack.com 導入 解法例 Round 1 Round 2 Round 3 あとがき おわり 導入 echo というコマンドがあります。 基本的な用途としては、引数で指定した文字列をそのまま表示させる…
Daily AlpacaHack 2026/3/19 の author’s write-up です。 alpacahack.com 解法例 あとがき おわり 解法例 output.txt のこれな〜んだ?という問題です。 {} 生成コードの chal.py を読むに、'A' は b'\xf0\x9f\x87\xa6'、'B' は b'\xf0\x9f\x87\xa7'、... …
double において 1.0 / 49.0 * 49.0 < 1.0 が true になることは有名です。 では、一般に x / y * y != x となるのはどういうときでしょうか? また、その誤差はどのくらいでしょうか? こうした疑問自体はある程度自然であり、素朴なアルゴリズムの誤差評価…
Daily AlpacaHack 2026/2/28 の write-up です。 alpacahack.com やったこと えびちゃんは Polyglot が好きなのでうれしくなりました。 1 行しか受け取ってくれないので、1 行でやる方針を考えます(\r を使おうというのが過去にも出題されていますが忘れが…
Daily AlpacaHack 2026/2/24 の write-up です。 alpacahack.com やったこと まず ReDoS の概念自体は知っていたのと、Python の re で指数時間になるケースが存在することも知っていたので、とりあえずそれについて考えました。 なんかたぶんこんな感じだっ…
doc.sagemath.org github.com まずはここから SageMath-10.8_arm64.dmg をダウンロードしてセットアップ。 % sage --help SageMath version 10.8, Release Date: 2025-12-18 Running Sage: file.[sage|py|spyx] -- run given .sage, .py or .spyx file ... /…
Daily AlpacaHack 2026/2/20 の author’s write-up です。 alpacahack.com 導入 解法例 あとがき おわり 導入 改行文字 \n を出力するとカーソルが下の行に動くのは有名でしょう。 状況によっては、\n 単体だと行頭ではなく真下に動きます(stty -onlcr や s…
Daily AlpacaHack 2026/2/17 の author’s write-up です。 alpacahack.com まずはすみません、出題不備がありました(意図していない入力でフラグが出てしまう)。それについては後半で言及します。 別解で解いた人もいるかもしれないですが、意図した解法に…
Daily AlpacaHack 2026/2/14 の write-up です。 alpacahack.com やったこと まず言い訳として、当時めちゃくちゃ頭が回っておりませんでした。 win(0xdeadbeefcafebabe, 0x1122334455667788, 0xabcdabcdabcdabcd) を呼び出すにあたって、pop %rdi; ret など…
Daily AlpacaHack 2026/1/29 の write-up です。 alpacahack.com Writeupでお気に入りのシェルコードを教えてくださいまだ間に合います! pic.twitter.com/o2Cw9WL9BX— tsune (@e65537) 2026年1月29日 twitter.com まだ間に合いますか? やったこと まず言い…
タイトルの命名規則をどうするか悩んでいます。 Daily AlpacaHack B-SIDE 2026/2/9–2026/2/12 の write-up です。 Daily AlpacaHack B-SIDE新しい問題はVery Very Hard級で、まだ1 solveです挑戦お待ちしています!https://t.co/09RvUeY6Yr pic.twitter.com/…
Daily AlpacaHack 2026/2/11 の write-up です。 alpacahack.com 最初は下記のようなコードで解きました。 solve.py import re from pwn import * def nc(nc_comm): nc_argv0, host, port = nc_comm.split() return remote(host, int(port)) p = nc("nc 34.1…
今年もやってみます rsk0315.hatenablog.com 2025 年に居残りしているえびちゃんが書いています。書き終わったらまた年末年始休暇をやりたいですね。 今年書いたもの 低レイヤ寄り 浮動小数点型関連 競プロ ポエム 今年がんばったもの 競プロ CTF ラテン語 …
Daily AlpacaHack 2026/1/6 の write-up です。 alpacahack.com まず、# でコメントアウトするのが想定解なんだろうと思います。 >>> s = 'print(1+2)#)2+1(tnirp' >>> assert s == s[::-1] >>> eval(s) 3 以降は、# を(というかコメントの類の機構を)縛っ…
くるくるくるりんという問題があります (AOJ / AtCoder)。 その昔は幾何のボス問*1として有名でしたが、最近の人々の間にはあまり知られていないのかもしれません。 背景 道のりと雑談 ギャラリー 参考文献 あとがき おわり 背景 2013 年の JAG 夏合宿 Day 3…
思うところがあるので書きます。 qiita.com 直近で見たのはこの記事ですが、こうした内容はあまり珍しいものではなく、むしろ比較的よく見てきたものに思えます。 改めて探そうとしてもなかなか見つからなかったのですが、見た記憶がありますというのを信じ…
下記が成り立ちます。 $$ \begin{aligned} &\phantom{{}={}} 6259918212890625^2 \\ &= 39186576032079756259918212890625 \\ &\equiv 6259918212890625 \pmod{10^{16}}. \end{aligned} $$ 今日はこういう感じのやつを求めていきます。 方法① 方法② おまけ …
NP-complete や NP-hard のような概念は、競プロ文脈ではあまり重要視されることがない気がします。 多項式時間で解くのが厳しそうな問題が $n\le 20$ 程度の制約で出題されることはあっても、それが実際に NP-hard であることを示す必要は別にありません(…
浮動小数点型の二分探索についてはいろいろと議論があります。 背景 本題 単純な撃墜ケース それっぽい例 他の例 まとめ おまけ あとがき おわり 背景 下記のような形式の問題を考えます。 実数に関する述語 $P\colon \R\to\{0, 1\}$ と $x_L, x_R\in\R$ が…
www.youtube.com 補足: ・N >= 1 を仮定しても構いません。 ・C言語でなくても構いません。 本題 証明 ??? あとがき おわり 本題 下記のコードの正当性を示していきます。 fn plus1(x: i32) -> i32 { (x as f64).sqrt().atan().cos().powi(2).recip().ro…
配列 $a = (a_0, a_1, \dots, a_{n-1}) \in \Z^n$ に対して、次の種類のクエリを処理する問題を考えます。 $\texttt{1}\; i\; x$ $a_i \gets x$ で更新する $\texttt{2}\; l\; r$ $(a_l, a_{l+1}, \dots, a_{r-1})$ の空でない連続部分列における、総和の最…
タイトルは下記の記事のパロディです。decimal に夢を見ている輩に含まれる人はぜひ見てほしいです。 qiita.com 背景 本題 除算 集合の大きさ 大小比較 等比数列の判定 余談 あとがき おわり 背景 よく、「浮動小数点型は誤差が出るので避けたい」という話が…
ABC で等比数列の判定をしたくなることはしばしばあります。 ABC 390 B ABC 413 D これに対して double で判定するとうまくいかないケースがあり、たとえば下記です。 $$ 67114657 \oslash 67114656 = 67114658 \oslash 67114657 = \texttt{1}.\texttt{00000…
codeforces.com これに触発されていろいろ調べたりがんばったりした記録です。 tl;dr: フ…上等だ…オレも一つ言っておくことがある f64 の FFT でも誤差がいい感じに収まるような気がしていたが別にそんなことはなかったぜ! ウオオオいくぞオオオ! ご愛読あ…
下記を書きます。 ↓ ここに書いています。 ↑ ここに書いています。 脚註を見に行くと...?*2 没パートを隠したつもりでも晒されてしまうことがあるので注意しましょう(少なくとも 1 敗)。 *1:a footnote leaks! *2:執筆時点と挙動が変わったら意味不明に…
浮には興味があるものの、ヒュにはないので見落としてしまいます。 atcoder.jp そういえばAHC048で(浮動小数使ってるのに) "なお、配布ツールもジャッジプログラムと完全に同一の挙動をするように実装されている。"って言いきってるのすごいなと思った(詳し…
人「浮動小数点数の演算なんだから環境によって結果が変わりうるのは当然だろ」 そうか...? 前提 補足 事象 仮説と検証 仮説 1 仮説 2 仮説 3 仮説 4 調査 関数定義 実行時の処理 おまけ 補足 あとがき おわり 前提 $\gdef\libmsin#1{\operatorname{\texttt…
apple, banana, cherry, durian とかにしてほしかった... atcoder.jp 考察 立式 計算量改善 おまけ おまけのおまけ あとがき おわり 考察 コンテスト中にやった考察に沿って話を進めます。 立式 一番右の A と一番右の B に注目します。それらの間に C が含…