sankantsuのブログ

技術メモ・競プロなど

AHC032 参加記

2024/04/07 19:00 - 23:00 に開催された AHC 032 に参加した。 この記事では今回の参加について振り返る。 問題概要 atcoder.jp N x N (N = 9) のグリッド上に数字が書かれている。 グリッド上の 3 x 3 領域を選んでスタンプを押すことで、スタンプに書かれ…

AHC031 参加記

2024/03/22 から 2024/04/01 までの期間に開催された MC Digital プログラミングコンテスト2024 (AHC 031) に参加した。 この記事では今回の参加について振り返る。 問題概要 atcoder.jp W x W (W = 1000) のグリッドを長方形の区画に分割して、与えられた予…

ARC 173 感想

atcoder.jp 結果 Aのみ 1完 50:22 (+0ペナ) Performance: 1395, Rating: 1321 -> 1329 前回 ABC で冷やしていたが、今回は微増 感想 ARC はもともと苦手意識がある。 A 問題から結構難しいし、B 問題解ける確率は 5 割あるかも怪しい気がしていたので結構レ…

yukicoder 5020 (Averaging) 感想

yukicoder という有志作成の問題を解くコンテストに参加した。 今回は4時間の短時間 heuristic コンテストで、作問は E869120 さん。 問題 https://yukicoder.me/problems/no/5020 N (=45) 枚のカードの表裏に数字が書かれている。 2 枚のカードを選ぶと、表…

ABC342 感想

2024/02/24 1 年半ぶりに algorithm コンテストに参加した。 コンテストページ https://atcoder.jp/contests/abc342 結果 ABCDE5完 (71:20) 0 ペナ パフォーマンス 1652 Rating 1311 -> 1354 かなり久しぶりに参加していろいろ忘れている気がしたが、意外と…

AHC030 参加記

2024/02/09 から 2024/02/19 までの期間に開催された THIRD プログラミングコンテスト (AHC 030) に参加した。 この記事では今回の参加について振り返る。 問題概要 https://atcoder.jp/contests/ahc030/tasks/ahc030_a N x N マスの盤面に M 個の油田がある…

SATySFi でお絵描きライブラリをつくる構想

モチベーション スライドなどで使うような、簡単な図形を組み合せた説明図を手軽に描きたい。 Drawio のような GUI で作図するツールもあるが、テキストベースで描けると再利用しやすく管理上も便利であったりする。 TeX には PGF/Tikz という図を描くための…

ゴリラ.vim #29 に参加してきました

2023/12/13 にゴリラ.vim という vimmer が集まるオフラインイベントに参加しました。 本記事では発表の様子や参加した感想について書きます。 gorillavim.connpass.com 発表資料については conpass のページに発表者のみなさんがアップロードしてくださって…

Docker daemon のプロキシ設定における特殊文字の扱い

概要 自分の勤務先の環境では、社内のサーバーから外部のネットワークと通信する際プロキシを経由する必要がある。 各種アプリケーションを利用する際に個別にプロキシ設定が必要となる場合があるが、 Docker を利用する際も docker pull などで外部のネット…

MacOS: binary release の clang を使う際のビルドエラーの解消

概要 デフォルトでインストールされている clang++ と違うバージョンのものを使う必要があり、 https://releases.llvm.org/ から tar.xz アーカイブでダウンロードして使っていたところ、ビルドの際にエラーが出ていた。 対処法などをメモしておく。 環境 ht…

Python: 引数に関する規則のまとめ

概要 Python における関数宣言や関数呼び出しにおける引数の規則についてまとめる。 Introduction Python では、関数呼び出しの引数に関する規則がやや複雑である。 たとえば、可変長の引数を許すような書き方として def func(*args,**kwargs): ... をよく見…

Haskell を勉強して面白いと思ったところ

しばらく個人的に忙しい時期が続いたが,一時的に余裕が生まれたので以前から気になっていた Haskell を少し勉強した. Lisp や OCaml で関数型言語の経験はあったが,型クラスやモナドといった単語になんとなく興味があり Haskell に至った. Haskell入門 …

TikZ におけるスタイル指定と pgfkeys

概要 TikZ には,グラフィクスの見た目などを調整するための機構としてスタイルというものがある. この記事では, グラフィクスの描画に特定のスタイルを適用する方法 自分でスタイルを定義する方法 スタイルの機構そのもののベースとなっているpgfkeysライ…

Python の descriptor

概要 Python の descriptor は,属性 (attribute) へのアクセスをフックに関数呼び出しを行う機構である. descriptor の機構は,メンバ変数の getter や setter を簡潔に定義できるようにした property などに使われている. ここでは, descriptor の基本 …

Python の decorator

概要 本記事では,python の decorator について decorator の基本 syntax sugar 引数をとる decorator についてまとめた. decorator の基本 decorator とは,関数を引数にとってその関数の動作になんらかの変更を加えた新しい関数を返すものである. 簡単…

bash の TAB補完 をカスタマイズする

概要 bash はコマンド名や引数の補完機能を備えており,入力中に TAB キーを押すことで候補を表示したり残りの部分を入力したりできる. ただし,デフォルトであらゆる状況に対して適切な補完が効くわけではないので,文脈に応じて補完候補を自分でカスタマ…

SATySFi のマクロ入門

この記事について SATySFi のマクロは,インラインコマンドやブロックコマンドの形で多段階計算によるプリプロセス機構を利用できるようにするものである. SATySFi上でDSLを実装してパッケージなどとして提供するような場合には,最終的にマクロによるイン…

SATySFi の多段階計算入門

この記事について SATySFi には多段階計算という機構があり,文書のプリプロセスに利用することができる. ただ,現状まとまった資料がないので使ってみようと思っても敷居が少し敷居が高い. この記事は多段階計算について, 何のためにあるのか どうやって…

SATySFi の set-math-char プリミティブで遊ぶ

概要 SATySFi に比較的最近追加された set-math-char という数式モード内での入出力文字の対応を指定するためのプリミティブで遊んでみたという話 set-math-char の仕様 (推測込み) SATySFi version 0.0.7 で追加された set-math-char というプリミティブが…

ABC257 感想・反省

atcoder.jp 結果 atcoder.jp ABCD4完(74:55 + 4ペナ) Performance: 1175 Rate: 1293 -> 1280 (-13) しょうもないWAが多く冴えない回だった コード github.com 各問題の振り返り A 特定のパターンの文字列の文字目を取り出す問題 文字列を実際につくらなくて…

ABC256 感想・反省

atcoder.jp 結果 atcoder.jp ABCDE5完(57:45 + 1ペナ) Performance: 1544 大きく詰まるところはなく5完できたのでとりあえず満足. コード github.com 各問題の振り返り A を出力するだけ cmath の pow 関数は浮動小数点で計算するので,一応整数型で pow を…

AtCoder で水色になった

初めてコンテストに参加してから2ヶ月半,13回目のコンテスト参加で水色レートを達成することができた. AtCoder で当初からひとつの目標としていた水色に到達したので,やってきたことなどをまとめてみたい. 時系列振り返り 参加開始当初の状況 情報系の修…

AHC 011 参加記

atcoder.jp 問題概要 の盤面が与えられ,各タイルには4方向のうち1つ以上に線が伸びた図形が描かれている. 空きマスを適当に移動させることでタイルの絵をつなげて,できるだけ大きい木がつくられるようにしたい. 左: 初期盤面, 右: 完成図の一例 結果 プ…

ABC254 感想・反省

atcoder.jp 結果 atcoder.jp ABCDE 5完 (68:16 + 0ペナ) 久しぶりにペナルティ0で切り抜けられたのは嬉しい. 今回で無事レートも入水することができた. コード github.com 各問題の振り返り A 3桁の整数の下2桁を出力する問題 int よりも string で受け取…

ABC253 感想・反省

atcoder.jp 結果 atcoder.jp ABCDE5完 (91:15+4WA) 5完で1147しかパフォ出ないのは正直しんどい (レート微減) Eが比較的簡単だったために解答時間でかなり差がつく回だったか. 最近WAが多いのと,そもそも速解きがやや弱い気がするので改善する必要がある.…

pgffor のまとめ

概要 pgfforパッケージは,多くのプログラミング言語で用いられるfor文と似た構文として\foreachコマンドを提供する. pgfforパッケージはtikzパッケージを読み込むと自動的に読み込まれるようになっており,tikzによる描画で繰り返しを行うときに用いること…

ABC252 G - Pre-Order 解説

atcoder.jp 与えられたDFSの行きがけ順 を達成するような 頂点の根付き木の数を求める問題. 部分木の形はその部分木の外にある頂点の置き方にはほとんど影響を与えないので,部分木ごとに数を数えて組み合わせる動的計画法が有力に見える. そこで次のよう…

ABC252 感想・反省

atcoder.jp 結果 atcoder.jp ABCDEF6完 (72:26+4ペナ) ペナルティ多いのは少しもったいないが,6完は初なので嬉しい. 青パフォも初. コード (C++) github.com 各問題の振り返り A 与えられたASCIIコードに対応する文字を出力する問題 文字コードとか知らな…

LaTeXの\@ifnextcharマクロ

概要 LaTeXカーネルで定義されている\@ifnextcharというマクロについて説明する. このマクロを使うとトークンの先読みを行うことができ,オプション引数の実装などに応用できる. カーネルやパッケージのソースにはよく登場するので,これらを読んでみたい…

TeXでドラゴン曲線を描く

概要 ドラゴン曲線というフラクタル曲線の一種をTeXを使って描いてみる. この題材はTeXブックに載っている有名(?)なもので,今回は元のプログラムを参考にしつつ簡易的なバージョンに書き直した. 出力結果を画像にすると以下のような感じ. コード github.…