2012-01-01から1年間の記事一覧

555.1

今の難易度の状態で全部解けたら最後のSRMにしよう。 255 0と1からなる文字列を、5のべき乗の文字列に分割するとき、可能な最小の個数を求めよ、という問題。 5のべき乗の文字列を一通り用意しておいてDPやるだけ。ダイクストラでもなんでもいいけど。 555 …

554.1

解ける問題を落とすのはどうかと思う。 250 二種類の石を交互に積んでいくことを考える。石の数と大きさが与えられるので、積むことのできる高さは何通りあるか答えよ、という問題。 二種類といいつつ同じ大きさのときはどちらを先に積んでも同じ。片方の石…

372.1

SRM

今出したら瞬殺されるレベル...。 250 与えられた規則に従ってシミュレーションした結果を答えよ、という問題。 やるだけ。 500 整数が与えられるので、ある桁の値について+1するか-1する操作を指定された回数行った結果、到達できる11の倍数の個数を答えよ…

553.1

アルゴリズムって感じではなく、簡潔にコード書きましょうってコンテストになりつつある。 250 たくさんの0が入っているスタックがある。正の整数をスタックに積む操作と、スタックから二つ要素を取り出して足した結果をスタックに積む操作の列が与えられる…

552.1

ちょっと実装が重いとすぐこれだ...。 250 三色のボールがそれぞれいくつかずつあって、同じ色が隣り合わないように一辺の長さがNの正三角形に並べることを考える。このとき正三角形はいくつ作れるか、という問題。 基本的には同じ数ずつ必要だが、時々1個余…

371.1

SRM

リハビリ...。 250 W*Hの大きさの盤面を螺旋状に移動したときの、最後の位置を答えよ、という問題。 一番外側を一周したところで、問題サイズを2ずつ小さくして考えることができるので、再帰的にやる。最終的にはWかHのいずれかが高々2になっているので、パ…

551.1

入力のコーナーケースは全部試すくらいの注意が必要。さすがに全部はムリなので、どれが考慮すべきなのか適切に見極めることが...。 250 文字列が与えられるので、隣接する文字のスワップを指定された回数だけして良いので、特定の文字ができるだけ連続する…

550.1

英語セット。リハビリ中じゃなかったら300は捨てるという判断をしておかないといけない。 300 二次元盤面上を既に到達したマスまたは盤外に行く前に左折するという方針で移動するとき、移動したステップ数が与えられるので、元の盤面の大きさとして最小のも…

370.1

SRM

リハビリ最初からやり直す必要ありそう...。 250 箱の中にいくつかの種類のものが入っている。K個取り出すとき、全部同じ種類のものを取り出す確率を求めよ、という問題。 それぞれについて何通りあるか求めて合計し、全体から選ぶ方法で割る。double精度で…

369.1

SRM

プラクティスを軽量化したらしいが...重たいことに変わりなかった。 250 AとBからなる文字列のうち、Aの文字数の上限と、Aが連続して良い回数の上限、Bの文字数の上限と、Bが連続して良い回数の上限が与えられるので、このときの最長の文字列の長さを答えよ…

549.1

これ解けない自分って...。 250 二つの円錐を重ねたときに、下の円錐の方が径が大きくて、上の円錐の方がとがっているような、円錐のペアは最大で何組作れるか、という問題。上用の円錐と下用の円錐は分離されている。 要は二部グラフマッチングをやるだけ。…

548.1

リハビリ中...。 250 N本の木が並んでいて、それぞれの高さが与えられている。木の高さがソートされるように、それぞれの木について高さを変更することを考えるとき、必要な変更量の最小値を答えよ、という問題。 ある変更で十分ならば、それよりも大きい変…

368.1

かなり記憶に残ってるセット...。 250 二次元盤面上に数字が書かれている。現在位置に書かれている数だけ上下左右のいずれかに進むという操作を何回繰り返すことができるか答えよ、という問題。 到達可能位置の集合を更新する作業を盤面の大きさだけ試行して…

Codeforces 127

最低ラインを維持するのに必死な負け犬。 A 上下対象かつ左右対称なバイナリ正方行列のうち、1が隣接しないものを考える。1の数がK個あるもののうち、最小のサイズを答えよ、という問題。 基本的には1と0を交互に敷き詰めるのが最適配置で、それ以下のKであ…

367.1

SRM

サブミットできなかった...。 250 ある整数が与えられるので、それ以上の整数である数字を含むものを答えよ、という問題。 一の位が一周するまで全部試すだけ。整数が大きいのでBigIntegerでも使えば良い。 500 開始位置と長さが与えられるので、その区間の…

547.1

int溢れするコード書くとかセンスなさ過ぎる。 250 N階建ての建物とM階建ての建物のそれぞれからランダムに階を選んでロープを張るとき、ロープの長さの期待値を答えよ、という問題。 N*M通り試すとTLEするので、ロープの傾きについて考えつつやる。傾きが分…

366.1

SRM

新しいキーボード効果。(簡単セット) 250 音量を指定された量だけ増やすか減らすかできる状況で、上限値を越えることなく、最後の状態の音量をできるだけ大きくしたい。当然負の音量は実現できない。最終状態の最大音量を求めよ、という問題。 到達可能な音…

365.1

SRM

やるやる言ってやってない。 300 半径Rの円の円周上にある格子点の数を答えよ、という問題。 求め方の式が与えられているので、それを実装するだけ。(疑ってはいけない。)基本的には素因数分解するのと、int溢れに気を付けるのと...。 500 ある整数の集合が…

Codeforces 125

頭悪すぎやしませんかね...。 A 1ステップでA個のものがK*A+B個になるとするとき、1個のものがNステップで増えた数以上にT個のものから開始して増やすには、何ステップ必要か、という問題。 T個よりたくさんになるのにかかる最小ステップ数を計算する。その…

546.1

要リハビリ。腐ったものは元に戻らない気もするが...。 250 A以上B以下の整数で、特定のビットパターンを含むものの数を答えよ、という問題。 ビットパターンは先頭が1のものだけ。ビットパターンを左シフトして、0で埋めたものと1で埋めたものでビットパタ…

Codeforces 124

正答者数で配点が変動するシステム。補正としては適切な気もするけれど、順位変動が凄く気持ち悪い。 A ある文字列の部分文字列(連続である必要はないが順番を変えてはいけない)のうち、辞書順で一番後ろのものを答えよ、という問題。 後ろから見ていって、…

GCJ 2012 Round 3

参加しない方が良かったのでは、というくらいやる気が感じられなかった...。 A 見てない。 B 六角形グリッドの問題なので放置。面倒そう? C 食料品の日持ち日数と一日分の値段が与えられる。一回の注文にかかるコストとトータルの予算が与えられるとき、ど…

545.1

頭が腐ってる...。 275 ある文字列よりも辞書順で後ろなもので、文字の反転の個数が指定された数以上のものの最初の文字列を答えよ、という問題。 全探索しつつ枝を刈る。 500 指定された範囲の二次元格子上に同一直線状にK点取る方法は何通りあるか答えよ、…

TCO 2012 Round 2C

能力相応の完敗につき、敗退。 300 N都市を巡回するときに、一番近い都市を貪欲に選択することを考える。一つの道だけコストを変更して妨害することを考えるとき、移動コストの総計の最大値を答えよ、という問題。 全部の道について、影響が出るような改変(…

544.1

配点詐称。 275 ある投票を行った結果を四捨五入した百分率表記が与えられる。投票を行った人数の総和として可能なものの最小値を答えよ、という問題。 下から順に投票者数を探索。各百分率表記になる範囲を覚えておいて、総数がそれに合致するかを評価して…

GCJ 2012 Round 2

相変わらず...。 A ロープを使って、ある位置から目的の位置まで移動することを考える。ロープは途中に何本かあり、ロープの支点と長さが与えられる。現在の位置と支点を挟んで反対側までロープを使って移動することができ、途中にある任意のロープを一本掴…

543.1

典型的なアレ。 250 A以上B以下の整数のXOR値を求めよ、という問題。 偶数XとX+1のXORは1であることを利用して高速に計算する。 500 見てない。 1000 幾何とフローの合わせ技問題。 ライブラリがなかったのでいい加減な解法を実装したところで時間切れ。

TCO 2012 Round 2B

配点詐欺。 300 ダーツのボードがあるが、スコアが消えて分からなくなっている部分がある。確実に狙ったところに当てられるときに、目的の点数を達成する最小回数を答えよ、という問題。 見えている最大値を狙うか、分からない部分を全部一回ずつ狙うか。後…

542.1

人間として、通らないと分かっているコードをサブミットしてはいけないと思った...。 250 X座標とY座標が異なるように三点を選び、三点間を順番に移動する。このときの移動距離が指定された範囲以内になるような三点の選び方を答えよ、という問題。 距離がマ…

364.1

SRM

飽きるまでちょこちょこ。 300 気合ソート頑張れ、という問題。 やるだけ。 500 N個のもののうち、一部がActiveな状態である。Activeな状態のものは別のものをActiveな状態にすることができるが、コストがそれぞれ異なる。高々KこのものをActiveにしたいので…