サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
猫
yunix-kyopro.hatenablog.com
はじめに AtCoderなどの競技プログラミングのコンテストに参加しているyunixです。 来年に開催されるマスターズ選手権、楽しみですね。マスターズ選手権は28歳以上の2~3人の団体戦で、時間が6時間のヒューリスティックコンテストになるそうです。 このコンテストの大きな特徴の一つはビジュアライザが提供されないことが明言されていることです。 ヒューリスティックコンテストではビジュアライザを使用して考察することがとても大事なステップになります。 従って、参加者自身でビジュアライザを開発することになると思うのですが、ビジュアライザの開発の準備をしていなければ 開発に時間がかかってしまう 使用感や機能がいまいち などの点で辛い戦いになってしまいそうです。 そこで、 いつものAHCと同じような使用感でビジュアライザを使える コンテストの問題に合わせて最低限のところだけを編集すれば使えるようになる
言いたいこと 焼きなましをするときにはこんな感じにクラスを作ると個人的にいい感じでした: 焼きなましをするときのクラス設計 主に以下の2つのクラスからなります: Stateクラス: 問題の状態を保持するクラスです。状態に関するクエリと状態を変更するためのコマンドのメソッドを提供します。問題によっては状態の一部を切り出して別クラスにしてそれを保持することもリマス。 Neighborhoodクラス: 近傍操作を司る抽象クラスです。Stateクラスへのポインタを保持し、execメソッドで状態を変更・rollbackメソッドで状態の変更の取り消しを行います。具体的な近傍操作はNeighborhoodクラスを実装する形で作っていきます。 このようなクラス設計をすることで以下のようなメリットがあったと思っています: 関心ごとの分離 Stateは状態に関するクエリと状態を変更するコマンドを提供し、Nei
背景 システムの概要 CDKやその他のコード テスト実行結果 コスト 他のアイデア Lambdaのメモリに関する実験など LambdaのメモリとCPUに関する仕様 Lambdaに割り当てるメモリ量を変えながら実験 不満ポイント ※この記事は包括的な解説というよりは、同じようなことをやろうとした人へのインプットになればいいかなと思っています。C++のソースコード用に書きましたが、少し手を入れれば他の言語でも使えると思います。 AWSを触ったことがない人向けには書いていないです。すいません... <7/23追記> Lambdaのメモリと処理能力について理解があやふやだったので検証した記録を残しました。メモリは1.8GBくらいにするのが良さそうです。 <8/20追記> 実際にコンテストで使ってみたところ、この構成だと不満が多かったです。それに関するレポートを書きました。 <11/7追記> 実際に
このページを最初にブックマークしてみませんか?
『yunix-kyopro.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く