torus711 のアレ

主に競技プログラミングの問題について書きます.PC 以外だと数式が表示されないかもしれないです

TopCoder, Single Round Match 667, Division 2, Level 2 : OrderOfOperationsDiv2

問題概要

 特殊なコンピュータがあり,コンピュータにはサイズ $M $ のメモリが積まれている.
 このコンピュータ上で $N$ 個の命令を実行したい.各命令は,コンピュータ上のメモリの内いくつかを利用する.命令が実行される順番は決められておらず自由に決めることができるが,全ての命令は丁度 1 回ずつ実行されなければならない.
 このコンピュータはキャッシュ戦略により,過去に一度でも使われたメモリの利用にはコストがかからない.しかし,実行しようとしている命令が,一度も使われていないメモリにアクセスするときにはコストが発生する.発生するコストは,新たに使われるメモリの数を $k$ として $k^2$ である.
 命令に関する情報は '0', '1' からなる文字列の配列 $s$ であたえられ,$s_{ ij }$ が '1' のとき,$i$ 番目の命令が $j$ 番目のメモリにアクセスすることを表す.
 メモリアクセスのコストを最小化する順序で命令を実行したときの,コストの総和を求めよ.
 $N, M \leq 20$

続きを読む

TopCoder, Single Round Match 667, Division 2, Level 1 : PointDistance

問題概要

 平面上の 2 点 $A$, $B$ が与えられる.以下の条件を満たす点 $C$ を 1 つ求めよ.

  • $C \neq A$ かつ $C \neq B$
  • $C$ のそれぞれの座標は $-100$ 以上 $100$ 以下の整数
  • 2 点間の距離を $d$ として,$d( A, C ) > d( B, C )$

 なお,$A$, $B$ の各座標の絶対値は $50$ 以下であり,$A \neq B$ である.

続きを読む

TopCoder, Single Round Match 668, Division 2, Level 2 : IsItASquare

問題概要

 平面上の点が 4 個与えられる.これらの点が正方形を成すか?
 なお,与えられる点は相異なる.

続きを読む

TopCoder, Single Round Match 668, Division 2, Level 1 : VerySecureEncryption

問題概要

 $N$ 文字からなる文字列 $\mathit{ message }$ に対し,次の操作を考える.

  • 各位置 $i$ について,$\mathit{ message }_i$ の文字が位置 $\mathit{ key }_i$ に表れる文字列で置き換える

この操作を $K$ 回適用した結果を求めよ.
 $N \leq 10$
 $K \leq 50$

続きを読む