simanのブログ

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

MM131 StopTheElves 感想

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

TCO21Final 参加記

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

Marathon Match 130 GraphLabeling Strategy

Problem www.topcoder.com Note This article has been translated by DeepL. Original ver is here. https://simanman.hatenablog.com/entry/2021/11/03/121958 Strategy The general strategy is to determine the maximum value for labeling before, and…

Marathon Match 130 GraphLabeling 戦略

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

Marathon Match 129 ChickenRun (translated ver)

Prolog This article is translated by DeepL and fix a little. simanman.hatenablog.com Problem www.topcoder.com Strategy Organize the farmers into groups of two. If there is an odd number, only one group will have three members. Move the far…

Marathon Match 129 ChickenRun

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

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

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

My approach of MM126 Slider

It was a matter of efficiently dropping the blocks into the holes. https://www.topcoder.com/challenges/82eb883d-85e9-442f-b0eb-91631d3d2a8f 方針 First, create an operation array in the order of dropping the base block. There are several st…

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 か…

Ruby で赤黒木を実装してみた

この記事は Okinawa.rb Advent Calendar 2019 の 15日目の記事です。 結論 実装しました。 https://gist.github.com/siman-man/a8ed58effeaaf59855deac490574760c 二分探索木 前々から赤黒木を実装しようと思っていたのですがずっと放置していたので、今回実…

RailsDM 2019 で登壇してきました

RailsDM 2019 で登壇 RailsDM 2019 で「Ruby のコード解析の「静」と「動」」というタイトルで発表してきました。 去年の年末あたりに平野さんから登壇依頼が DM 経由で来て「せっかくの機会なのでやるか!」と思い引き受けることにしました。(CFP 形式だと…

今年作った gem の紹介 (2017)

この記事は Okinawa.rb Advent Calendar 2017 4日目の記事です。 自分は思いついたアイデアをすぐ gem にするようにしているのですが、今年は結構作った気がしたのでそれを紹介したいと思います。 spellcheck 主に技術系の単語にフォーカスしたスペルチェッ…

北大日立マラソン参加記

参加してました。 https://hokudai-hitachi2017-1.contest.atcoder.jp/ やったこと とりあえず submit (52935) 左上から丁寧に並べる 焼きなましする (52935 -> 149624) 近傍は ランダムな2点の位置を交換する 温度管理を調整 (149624 -> 155183) 雑に設定し…

PoisonedWine 参加録

問題 https://community.topcoder.com/longcontest/?module=ViewProblemStatement&rd=16944&pm=14636 複数のワインの中から、毒に反応する試験紙を使って「毒入りのワイン」を見つけ出し「毒入りではないワイン」をいかに多く集めることが出来るかという問題…

MM92 Lighting 参加録

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

RubyのEnglish.rbソース読み

Rubyの標準ライブラリを読んでいく、前回は3年前に ostruct を読んだ RubyのOpenStructソース読み 今回は English.rb を読んでいく。 English.rbとは何か English.rbはRubyの特殊変数に対してわかりやすい別の名前を付与するライブラリである。Rubyの特殊変…

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で配列の最大値と最小値を同時に取得

rubyでは配列の最大値と最小値を同時に取得出来るminmaxメソッドがあります。minmaxを使わないver array = [1,2,3,4,5] min = array.min max = array.max puts min puts max 1 5使うver array = [1,2,3,4,5] min, max = array.minmax puts min puts max 1 5…

京都旅日記 最終日

今日で最終日です。朝は荷物をまとめて、忘れ物がないかチェックしてホテルのチェックアウトを行いました。ちょっと荷物が増えてるのでトランクの中身がかなりギチギチになりました。。。 サイクリング 京都駅から関西空港までは特急はるかで向かうことにし…