2020-01-01から1年間の記事一覧

[[likely]]が役立った話

この記事はstackoverflowで質問した内容の結論をまとめたものです.正直, [[likely]] attribute なんて今まで一度も使ったことなかったです. こんなコードを書いた #include <stdio.h> #define N 19 int main(void){ int a[N]; int ans = 0; for(int i = 0; i < N; </stdio.h>…

エモいコードについてのメモ

これはキャス(1枠目,2枠目)で話した内容を文字にしたものです. メジャーの中にマイナー,マイナーの中にメジャー 解決前の属和音に色々な音を重ねる 主音を引きずりまくる 曲の最後の和音で遊ぶ 音を減らす 同じメロディーに違うコード 他(汎用性は低い…

無料で PDF ファイルが編集できる強力ツール「PDFtk」について

PDF の編集にはお金がかかると思っていませんか? 確かに,たとえば Adobe Acrobat のような有料のソフトウェアも出回っています.しかし, PDF なんて中身はただ /Type /Page とか /Font > とか書かれてるだけのファイルに過ぎないのですから,無料の編集ソ…

離散フーリエ変換を O(n log n) で行うアルゴリズム

離散フーリエ変換とは,長さ の数列 から長さ の数列 への変換で,各 について次のように定義されます. ただし は で定義され, 乗すると 1 になる虚数(の1つ)です.また,逆離散フーリエ変換はその逆変換ですが,式はよく似ています. 逆離散フーリエ変換…

デバッグ出力に役立つ ostream_joiner とは

こんにちは.今日は C++ コンテナの中身を簡単にデバッグ出力できる ostream_joiner を紹介します.ostream_joiner は experimental/iterator をインクルードすることで, std::experimental::ostream_joiner として使えるようになります. #include <experimental/iterator> #inclu</experimental/iterator>…

AtCoder に登録したら解くべき精選過去問 10 問を C 言語(のコード中に埋め込んだ,アセンブラで生成した機械語)で解いてみた ② (第5問から第6問まで)

この記事は前回の続きです.前回は「C 言語で解いてみた」というほぼほぼ詐欺のようなタイトルでしたが,今回はちゃんと書きました. そもそも何をしているの? さて,ここら辺で C 言語の中に機械語を埋め込む方法について説明しておきましょう.提出コード…

i3window manager 俺々式 config 法

数あるウィンドウマネージャの中でも,特に使いやすい(と私が感じている)タイル型ウィンドウマネージャが i3 window manager.一部の人たちの間では arch , vim と併せてオタク 3 点セットなどと言われています(ソース).i3 はその無駄のなさ,スタイルの良…

デュアルブートしていたらWindows更新後にLinuxが起動できなくなった話

元の状態 Windows / Arch Linux でデュアルブートしていました.パーティションは次のように分けていました. /dev/sda1 ― Windows/Linux 共用のブートパーティション. Windows が入っている状態で PC を買ったので Linux インストール以前から存在したが,…

MOD 逆数

を整数とすると, と互いに素な任意の整数 に対し, を満たす整数 がただ一つ存在します.この を, を法としたときの逆数といい,競技プログラミングで頻繁に役立ちます.今回はこれを計算するコードを C で書いていきます. 数学的な解き方 ならば,ある整…