diff --git a/docs/how-it-works.ja.pdf b/docs/how-it-works.ja.pdf index 4a475e65..42bd1889 100644 Binary files a/docs/how-it-works.ja.pdf and b/docs/how-it-works.ja.pdf differ diff --git a/docs/how-it-works.ja.tex b/docs/how-it-works.ja.tex index 2b3e81f9..ee2dee87 100644 --- a/docs/how-it-works.ja.tex +++ b/docs/how-it-works.ja.tex @@ -191,8 +191,8 @@ \subsection{競技プログラミングのソルバはトランスパイラの 好きなものを使えばよい。 しかしソルバへの入力形式はソルバ自体の実装のしやすさを大きく左右する。 -どのような入力にするのはもっとも楽だろうか? -何度かプロトタイプを実装した経験から、私は「実行可能なプログラム」を「形式化された問題」の代わりに使うのがよいと考えている。 +どのような入力にするのがもっとも楽だろうか? +何度かプロトタイプを実装した経験から、私は「実行可能なプログラム」を「形式化された問題」として使うのがよいと考えている。 「実行可能なプログラム」をソルバの入力とすれば、競技プログラミングの過程は以下の 3 ステップに具体化される。 \begin{description} @@ -201,7 +201,9 @@ \subsection{競技プログラミングのソルバはトランスパイラの \item[(3.) 考察''] (ソルバが) 記述された実装に対し、計算量的な最適化を行う \end{description} -このとき (3.) の「考察''」のステップは、入力も出力も共にプログラミング言語である。入力されたコードと同じ計算をするより高速なコードを出力する。これは「最適化」である。 +このとき (3.) の「考察''」のステップは、入力も出力も共にプログラミング言語である。 +入力されたプログラムと同じ計算をするより高速なプログラムを出力する。 +これは「最適化」に同じである。 つまり「実行可能なプログラム」をソルバの入力とすれば、「競技プログラミングの問題を自動で解くソルバ」は「最適化を伴なうトランスパイラ」となる。 「競技プログラミングの問題を自動で解くソルバ」を「最適化を伴なうトランスパイラ」と言い換えられた。 @@ -524,7 +526,7 @@ \subsection{このような手動での機械的な変形はプログラムに -\section{先行研究} +\section{関連研究} 一般のものであれば、以下のものが近いだろう。