torus711 のアレ

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

Codeforces 323, Division 1, A ( Division 2, C ) - GCD Table

問題概要

 $n$ 要素の数列 $a$ から生成されるGCD Table を,$$g_{ ij } = \mathrm{ gcd }( a_i, a_j )$$ なる $n \times n$ 行列とする.
 今,$g$ の要素を適当に並び替えた $n \times n$ 個の整数が与えられるので,$a$ として妥当なものを 1 つ復元せよ.解の存在は保証される.
 $1 \leq n \leq 500$

続きを読む

TopCoder, Single Round Match 669, Division 2, Level 2 : CombiningSlimes

問題概要

 初めに正整数の多重集合 $a$ がある.$|a| > 1$ である間,以下の操作をする.

  1. $a$ から要素を 2 つ取り除き,それらを $x, y$ とする.
  2. $a$ に $x + y$ を加える
  3. $xy$ のスコアを得る

 得られる累計スコアの最大値を求めよ.
 $2 \leq |a| \leq 100$

続きを読む

TopCoder, Single Round Match 669, Division 2, Level 1 : LiveConcert

問題概要

 $M $ 曲の歌があって,歌 $i$ はアイドル $s_i$ にのみ歌うことができる.コンサートで歌 $i$ を歌うと聴衆の幸福度が $h_i$ 上がる.また,各アイドルはコンサート中に高々 1 回しか歌うことができない.
 歌う歌を適切に選ぶことで聴衆の幸福度を最大化したときの聴衆の幸福度を求めよ.
 $1 \leq M \leq 100$
 $1 \leq |s_i| \leq 10$

続きを読む

TopCoder, Single Round Match 669, Division 1, Level 1 - SubdividedSlimes

問題概要

 整数 $S$ が与えられる.
 最初,$S$ のみを含む多重集合が手元にあり,以下の操作を(それが可能な限りにおいて)好きなだけ行うことができる.

  1. 集合の元を一つ選んで $z$ とする.ただし $2$ 以上のものしか選べない.
  2. $x + y = z$ となる正整数 $x, y$ を自由に選ぶ
  3. 集合から $z$ を取り除き,$x$ と $y$ を加える
  4. $xy$ のスコアを得る

 累計スコア $M $ 以上を獲得するために必要な操作回数の最小値を求めよ.不可能な場合は $-1$ で示せ.

  • $2 \leq S \leq 1{,}000$
  • $1 \leq M \leq 10^9$
続きを読む