TechFULの中の人

TechFULスタッフ・エンジニアによる技術ブログ。IT関連のことやTechFULコーディングバトルの超難問の深掘り・解説などを紹介

プログラムの「型」を支える理論

プログラミング言語における重要な概念の一つに、「型」があります。しかし型という概念は、プログラミング言語において必須ではありません。 それにもかかわらず多くの言語に型が備わっているのはなぜでしょうか?この記事ではその理由や、型を支える理論に…

サイクル分解の標準形【TCB49第7問の背景】

TCB49第7問目では次のような問題を出題しました。整数 $N, K$ が与えられます。$1, 2, \ldots, N$ の順列 $a$ であって、次の条件を満たすものの個数を $998244353$ で割った余りを求めてください。 $a_i = \max(a_1, \ldots, a_i)$ を満たす $i$ の個数が $…

編集距離を O(NM/w) 時間で求めるアルゴリズム

文字列を比較する際の指標の一つに、編集距離があります。具体的には、編集距離とは「一方の文字列をもう一方の文字列に一致させるために必要な $1$ 文字の置換、挿入、削除の最小回数」のことです(後で詳しく説明します)。 生物情報科学(バイオインフォ…

TechFUL の得点システムを知る

こんにちは、普段はTCBやチャレンジ問題などの上級問題を主に作っている作問担当者の1人です。 今回は、TechFUL上で問題を解いたときに得られる「スコア」について、噛み砕いた説明をしていこうと思います。「スコア」は、毎月開催されるガチコンテストの Te…

クワインの書き方【自分自身を表示するプログラム】

自身のソースコードと完全に同じ文字列を出力するプログラムは Quine (クワイン) と呼ばれます。 Quine は単純に書けるものではありません。 例えば Python3 で print 関数から Quine を書き始めようとすると、引数に渡すべき文字列は自身のソースコードなの…

画像つきボタンを作成する

こんにちは、TechFULでアルバイトをしているAtriaです。 現在はTechFULで出題される問題の作成をしています。 さて、私は趣味でAndroidアプリの開発をしているのですが、その中でどうしてもXML上で 画像つきのボタン が作りたくなりました。 今回はXML上で画…

未来予測と勘違い

こんにちは.TechFUL PROのアルバイトをしているzekiです. TechFUL PROでは人工知能に関する問題を提供しています. 今回は時系列データの未来予測についてです. 株価や仮想通貨,天気,流行など,未来予測は魅力的な題材が多いですよね. 天気予報なんか…

TechFULの問題を作る時に考えていること

お久しぶりです。この記事を書いた作問アルバイトです。 triple-four.hatenablog.com 今回は、自分がTechFULで作問をするにあたって何を考えてどのような問題を目指しているかをブログに書きます。 TechFULに必要な問題の性質 まず、TechFULに並んでいる問題…

テストケースが正解にならない時のTechFUL上でのデバッグ方法

こんにちは! 問題管理を担当しているTechFULエンジニアです! TechFUL問題に挑戦している皆さんから、「サンプルケースは通るのにテストケースは通らない。テストケースは非公開になっているため手詰まりになってしまった。」というご意見を耳にします。 こ…