simanのブログ

ゆるふわプログラマー。競技プログラミングやってます。Ruby好き

競技プログラミング

AHC011 Sliding Tree Puzzle 参加記

問題 atcoder.jp 方針 主に 3つのパートで構成されています 与えられたパネルから木を構築する 構築した盤面の各パネルに対して数字を割り振る (N * N - 1) puzzle を解く 木の構築 木の構築は盤面を焼き鈍して作成を行いました。木の条件が厳しそうなイメー…

MM136 HungryKnights 参加記

問題 www.topcoder.com 今回のスコア計算では同色の移動を連続で行うことで指数的にスコアが増える仕様となっていたので、出来るだけ長い同色消しの経路を作成する必要がありました。 方針 基本的な方針はビームサーチでの経路探索になります。 スタート地点…

Marathon Match 134 ShearTheSheep 参加記

問題 www.topcoder.com 戦略 どの農家がどの羊を追いかけるかの割当を最小費用流問題として解く 対象への最良経路を探索 羊毛のバケツリレーを行う 農家と羊の割当 どの農家がどの羊を追いかけるのかを最小費用流問題として解きます。辺の張り方としては「農…

第8回 Asprova プログラミングコンテスト 参加記

問題 atcoder.jp 方針 製造する製品の(形状、色、生産個数)をまとめて タスク という形にまとめる。 タスク を行う順番を焼きなましで更新していく 順番が確定した後 生産個数 の部分を別の焼きなましで改善していく タスクの作成 製品を 1個ずつ扱うと計…

AHC008 Territory 参加記

AHC008 に参加していました。 atcoder.jp 方針 大きく分けて「柵を配置する」「動物を捕まえる」の 2つのフェーズでゲームを進めていきます。 複数人で 1つのチームを作ってチーム単位で行動を行う 部屋の中に予め設定しておいた柵を配置する チーム単位で動…

Hitachi Hokudai Lab. & Hokkaido University Contest 2021 の感想

atcoder.jp に参加してました。と言っても最低限のコードを書いて終わったのでガッツリ参加したというわけではありませんが、 全体を通しての感想を残しておきます。(どちらかというと要望) 運営も自虐するぐらいにはグダっていたと思います。 共通 アナウ…

Marathon Match 132 BouncingBalls

問題 www.topcoder.com 方針 銃の位置を焼きなましで決める 銃の位置決定後はビームサーチで良い盤面を探す ボールが真ん中に集まるように盤面を作成する 銃の位置を焼きなましで決める (START ~ 1 sec) まず最初に銃の位置を固定するために焼きなましを行っ…

MM131 StopTheElves 感想

問題 www.topcoder.com 最近オンライン問題多くなってきた。 方針 プレゼントを囲むように箱を設置する 箱はすぐ設置するのではなくエルフが近づいたときに設置を行う 事前にシミュレーションを行って防衛成功率の低いプレゼントは守らない プレゼントを囲む…

TCO21Final 参加記

TCO21Final に参加してきました。 問題 下の画像のようなトーラス状の N * N フィールドが存在しており、コインを 1つ取ると 100 point、棘を踏むとスコアが半分になります。コインは取得すると消えますが、棘は踏んでも消えません。 プレイヤーは自由に移動…

Marathon Match 130 GraphLabeling 戦略

問題 www.topcoder.com 戦略 大まかな戦略としてはラベル付けを行う際の最大値を事前に決定して、ノード全体にラベル付けが成功した場合は最大値を徐々に減らしていくという二分探索風な戦略を取りました。 ラベル付けを行う前に与えるラベルの最大値 X を事…

Marathon Match 129 ChickenRun

問題 www.topcoder.com 方針 農家を 2人 1グループにまとめる。奇数の場合は 1つだけ3人のグループになる。 農家を移動させる 移動後の盤面を評価して一番良い配置を決定する 農家のグループ分け 鶏の確保には最低でも 2人必要なので 2人組のグループを作成…

RECRUIT 日本橋ハーフマラソン 2021〜増刊号〜 参加記

問題 atcoder.jp 方針 機械は連結を維持する、ただし序盤は非連結をある程度許容する 野菜の「出現位置」「出現時間」を元にヒートマップを作成してそれを元に機械の配置を決めていく 探索で使用しているパラメータを変化させながらシミュレーションを複数回…

MM126 Slider 参加記

ブロックを効率よく穴に落とす問題でした https://www.topcoder.com/challenges/82eb883d-85e9-442f-b0eb-91631d3d2a8f 方針 まずベースとなるブロックを落とす順番の操作配列を作成します。 操作配列の作成についてはいくつかステップを踏んでいます 1手落…

MM 123 Jewels 参加録

参加してました。最初から最後まで順位表の不具合で自分の正しい順位がよくわからなかった。(恐らく 4, 5 位あたり) https://www.topcoder.com/challenges/b846362a-218e-4a3d-b86c-3d38f472e199 方針 スコアの計算式が「ラインスコア * コンボ数」で計算…

HACK TO THE FUTURE 2021 予選参加録

問題 atcoder.jp 方針 1 - カードをすべて回収する。 全部のカードを持っていたほうが後にカードを再配置する際に自由が効きそう。 2 - 集めたカードを再度配置し直す。 後で 0 から 99 のカードを集めるときの移動コストが小さくなるようにする。 3 - 0 か…

MM92 Lighting 参加録

Marathon Match 92の「Lighting」に参加していました。 問題 SxS のセル状空間に光源の強さがDのL個のライトをいい感じに設置して、なるべくたくさんの空間を照らしましょう。 すごいシンプルでした。美術館問題に似た問題だなと思いました。 方針 大きく分…

TCO 16 Round3参戦記録 - TerrainCrossing -

TCOMMの最終ラウンドが終わりました。https://community.topcoder.com/longcontest/?module=ViewProblemStatement&rd=16704&pm=14283 問題文 縦横長さが S あるフィールドがあります。フィールド上にはN個のアイテムとN個の目的地が存在しています。あなたは…

OnlineExam 参戦記録

Codeforcesで開催されていたマラソンマッチに参加してました。codeforces.com 問題文 オンラインの試験があります。問題は全部で5000問あり、各問題は「YES」または「NO」で解答を行います。採点については各問題ごとに正解不正解を判別し不正解の数が2000に…

NYC Lightning Round 参戦記録

診断人さんのツイートで気づいて参戦しましたhttps://community.topcoder.com/longcontest/?module=ViewProblemStatement&rd=16756&pm=14282 topcoder1日マラソン開催されるのであれば、すぐ寝る。されないのであれば、プログラミングして寝る。— nico_shin…

TCO 16 Round2参加記録 - StarTraveller -

TCO 16 Round2 が終了しました。https://community.topcoder.com/longcontest/?module=ViewProblemStatement&rd=16703&pm=14268 問題文 ある宇宙空間にN個の星とM個の宇宙船とK個のUFOが存在しています。宇宙船は星と星の間を移動する際にその星と星の間の距…

TCO 16 Round1参加記録 - CutTheRoots -

久々の日記です、今年もTCOの季節になりました。Round 1の問題は「CutTheRoots 」で、簡単に説明すると植木鉢の中にある植物を根っこをなるべく切り取らないように切り分けるかの問題でした。TopCoder 図としては下のような感じです。 最初は複数の植物がの…

現在開催中 or 今後開催予定のマラソンマッチ系コンテストについて

これは 「Competitive Programming (その2) Advent Calendar 2015 」の12日目の記事です。 www.adventar.org マラソンマッチとは、2週間から長いもので1ヶ月以上の期間をかけて行われるコンテストです。有名なところではTopcoderのMarathon Matchがありま…

「Code Festival A If you cannot solve this」参加記録

CodeFestivalの短縮王の事前公開問題があったのでそれをやっていました。anarchy golf - Code Festival A If you cannot solve this問題としては クラスメイトのテストの点が与えられる。 クラスの平均点の半分以下である点数を赤点と定義する。 s1が赤点な…

【コードゴルフ】シンプル・ライフゲーム 参加日記

ここ数日コードゴルフという競技で遊んでいました。codeiq.jp題材としてはライフゲームというゲームをいかに短く書くかの勝負で、今回Ruby部門で一番短くかけました。d.hatena.ne.jp今回書いたコードです。(136byte) n,h,w,*f=*$<;n.to_i.times{z=w=w.to_i;f…

MM89参加日記

初日 問題文公開、お題は「迷路が与えられるので、セルを修正してたくさん探索しような!」ですとりあえず、まず迷路の盤面から'U'を別の要素に置き換えてみるテスト。Uターンマスはその時点で探索失敗してしまうので(盤面の外側だと大丈夫だけど1pt) 邪魔…

PathDefense日記(Topcoderマラソンマッチ)

0日目 今日からTCO MM Round2の始まり始まりー、いつも対戦後に戦略とかをツイッターに流しているけど、 今回は日記を使ってコンテスト中の考えとかを雑にまとめてみるテスト。 1日目(2015/05/26) 5:00 起床 起きて問題文を読む。和訳が面倒だ...ひたすらGoo…

Rubyで全ての約数を出すメソッドを作った

「How Many Divisors?」 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_3_DAOJの問題を解いてて「約数の配列だして、upper_boundとlower_boundをとれば終わりやな」と思ったのですが、Rubyに今の要素全部無かったので、作りました。 requi…

マラソン練習会( TCO2010 FILNAL )

今週土曜日、診断人さん主催で12時間マラソン練習会が行われました。今回使用した問題は「TCP2010 CollapsingMaze」 http://community.topcoder.com/longcontest/?module=ViewProblemStatement&rd=14411&pm=11140内容はざっくり説明すると 「コインがばらま…