2019-04-01から1ヶ月間の記事一覧

Google Code Jam 2019 Round1B : Fair Fight

問題. Fair Fight 非負整数 と2つの非負整数列 が与えられる.組 で を満たすものがいくつあるかを求めよ.制約: ,

Google Code Jam 2019 Round1B : Draupnir

問題. Draupnir -day ring と呼ばれる指輪がある.1つの -day ring は出現した日から 日ごとに -dary ring を1つ複製するということを永遠に続ける.0 日目に各 -day ring が 個出現する( は未公開). 「 日目にある指輪の総数の による剰余はいくつか」と…

Google Code Jam 2019 Round1B : Manhattan Crepe Cart

問題. Manhattan Crepe Cart の格子上に 人がいる. 番目の人は にいて東西南北のいずれか (順番に 'E', 'W', 'S', 'N')を向いている.すべての人はクレープ屋に最小の移動距離で移動しようとしている.ただし,距離はマンハッタン距離である.多くの人が…

ARC050 B問題:花束

問題. 花束 個の赤い花と 個の青い花がある. 個の赤い花と1個の青い花からなる花束と,1個の赤い花と 個の青い花からなる花束の2種類の作り方がある.作ることのできる花束の個数の最大値を答えよ.制約: ,

三分探索

三分探索 (Ternary search) は 単峰関数の大域最適解 連続関数の極小値 を求める反復解法である.次の問題を三分探索で解く.* 「連続関数の極小値」ではなく「単峰(たんほう)関数の大域最適解」と修正しました.詳細は一番下に書きました.(2020年11月2…

Google Code Jam 2019 Round1A : Golf Gophers

問題. Golf Gophers 18ホールあるゴルフ場の各ホールにちょうど1つの風車がある.毎晩, 番ホール()にある風車のブレード数を任意に に決めて, 0 番目のブレードが真下にあるように設定する.ただし,ブレードは時計回りに と番号付けされている. 各風車…

Tenka1 Programmer Contest 2019 E問題:Polynomial Divisors

問題. Polynomial Divisors 次の整数係数多項式 が与えられる.任意の整数 に対して が の倍数となるような素数 をすべて求めよ.制約: , ,

Tenka1 Programmer Contest 2019 D問題:Three Colors

問題. Three Colors 個の整数 が与えられる.与えられたすべての整数を赤,緑,青の3色のいずれかで塗るとき,次の条件を満たすような塗り方が何通りあるかを答えよ. 赤,緑,青で塗られた整数の和をそれぞれ R, G, B としたとき,3辺の長さを R, G, B とし…

Google Code Jam 2019 Round 1A : Alien Rhyme

問題. Alien Rhyme 英大文字からなる 個の単語が与えれる.各単語に任意に1つアクセントを付ける.アクセントから末尾までの部分文字列をその単語のアクセント接尾辞と呼ぶことにする.2つの異なる単語が同じアクセント接尾辞を持つとき,それらの単語は韻を…

ABC124 D問題:Handstand

問題. Handstand 長さ の 0 と 1 からなる文字列 と非負整数 が与えられる. の連続する区間を任意に選び,その区間に含まれる 0 と 1 を反転するという操作を高々 回行う.そのとき,連続する1 からなる区間の長さの最大値を答えよ.制約:

Google Code Jam 2019 Qualification Round : Dat Bae

問題. Dat Bae 台のマシンがあり, から までの番号付がなされている.それらのマシンの内 台が壊れている.次で定義するマスタとの間のインタラクティブな通信を高々 回行いどのマシンが壊れているかを特定せよ. インタラクティブな通信とは,長さ の 0 と…

置換の冪乗

問題. ABC013 D:阿弥陀 本の縦線と 本の横線からなるあみだくじが与えられる.このあみだくじを縦に 個つなげる.左から 番目の縦線を選んであみたくじを行ったときの結果が下端で左から何番目にあるのかを答えよ. 制約: , ,

エクサウィザーズ 2019 D問題:Modulo Operations

問題. Modulo Operations 個の相異なる自然数からなる集合 と自然数 が与えられる.初期値を として次の操作を 回行う. から任意に要素 を1つ選んで取り除き,現在の値 を に更新する. の任意の取り除き方によって得られる 回の操作後の値の総和を求めよ.…