MC Digital Programming Contest 2024(AtCoder Heuristic Contest 031)

Can Participate: All Rated Range: All Penalty: None

コンテスト情報


AtCoder Heuristic Contest(AHC)とは?

AtCoderにて新たに定期的に開催されるプログラミングコンテストです。ABC/ARC/AGCなどのアルゴリズムコンテストと異なり、最適解を出すのが難しい問題に対し、出来るだけ良い解を作成するコンテストとなります。出題例などについては過去の類似形式のコンテストを参照下さい。

AHCでは、ABC/ARC/AGCでのレーティングとは異なる、ヒューリスティック部門用の新しいレーティングが付与されます。ABC等でのレーティングと異なり、コンテスト成績が悪くても下がることのない単調非減少型を採用し、平均的に良いパフォーマンスを出すことよりも、ベストパフォーマンスが評価される形式となります。お気軽にご参加下さい。

腕に覚えがある人も、まだまだプログラミングは始めたばかりという人も、一度参加されてみてはいかがでしょうか?


会社概要

MC Digitalは2019年9月に設立した、三菱商事100%出資のTech企業です。

三菱商事が強みを持つ数多くの産業をデジタルで変革し、新たなビジネスを開拓します。

2019年12月から本格始動し、以下のような案件に取り組んできました。

  • 食品流通における需要予測、在庫・欠品を最小化する数理最適化アルゴリズム構築
  • 配送効率化のための組合せ最適化アルゴリズム構築
  • 購買情報からグラフ最適化により類似商品を判定するレコメンデーション
  • 顧客の属性/行動データから返済能力/与信リスクを予測する与信判断最適化
  • 再生可能エネルギーの発電量を予測し、トレーディングによる利益の最大化
  • GPT(LLM)を活用したTachyon生成AIの提供

各事例の詳細については、こちらの会社紹介をご覧ください。

MC Digitalの強み

三菱商事グループは数多くの産業に根を張っています(産業プラント、物流、エネルギー、リテイル、食品、ヘルスケア、都市開発、モビリティ、電力、化学品、金属資源、etc)。また、MC Digitalには機械学習や最適化アルゴリズム、データ基盤など各種情報技術の専門家が揃っています。

我々MC Digitalは自分たちの強みであるデジタルを武器に、三菱商事が強みを持つあらゆる産業で変革を起こします!

MC Digitalの取り組みは様々な媒体で紹介されています。興味を持たれた方は是非以下の記事をご覧ください。


Chief Technology Officer (CTO) からのメッセージ

MC Digitalで評価される人は3タイプいます。

  • 引き出しが多く、問題解決力が高い人
  • 複数人が使い回せるコードやシステムを設計できる人
  • ビジネス、アルゴリズム、データサイエンスそれぞれの領域の理解を深められ、チームをリードできる人

AtCoderを通して様々な人が入り活躍して頂いています。

トップクラスのAtCoderのレートを持ち、MC Digitalの主戦場であるヒューリスティックな手法が求められる問題に粘り強く取り組める人も求めていますが、同様に開発者のためのコードを書ける人、ユーザ中心に問題を考えながら専門性の高いメンバーをリードできる人も求めています。

コンペを通してMC Digitalを初めて知る人も多いと思いますが、興味を持った人はこちらから是非ご連絡下さい。


AtCoderで鍛えた力を活かせる業務内容

顧客の課題や今後効率化していきたい要望をヒアリング/定式化し、機械学習や数理最適化(焼きなまし法や数理最適化ソルバの利用)を用いて解決します。

  • 機械学習モデルの構築 (需要・供給予測、金利予測等)
  • 数理最適化アルゴリズムの構築 (配送最適化、発注量最適化等)
  • 機械学習パイプラインの構築等によるPoCの効率化
  • 顧客データ分析によるビジネスインサイトの提供

PoCのみに留まらず、データサイエンティストの作成したモデルは社内エンジニアが開発を行い、SaaS提供まで一気通貫で手掛けます。

SaaS開発におけるエンジニアの業務内容は多岐にわたります。

  • 作成したモデルをユーザーが直感的に操作できるWebアプリの開発
  • DBにおけるスロークエリの検知/改善
  • Terraformを用いたインフラ環境の構築
  • CI/CDの実装やモニタリング/ダッシュボードの整備などを通じた、開発作業の効率化

利用するフレームワーク・ツール等

  • 機械学習: PyTorch, TensorFlow, LightGBM, Optuna, Azure OpenAI Service 等
  • 機械学習効率化: Weights & Biases, Vertex AI Pipelines, Cloud Composer 等
  • 数理最適化: Gurobi, OR-Tools 等
  • クラウド環境: GCP, Azure 等
  • SaaS: Terraform Cloud, Auth0, Sentry 等
  • フロントエンド: TypeScript, Next.js, Chakra UI, OpenAPI, TanStack Table / Query, Storybook 等
  • バックエンド: Go(Gin), Python(FastAPI), PostgreSQL, MySQL 等

MC Digitalと競技プログラミング

MC Digital は現在約 70 名の会社ですが、プログラミングコンテスト・コンペが好きなメンバーが数多く在籍し、日々の業務でその実力を発揮しています。

AtCoder や Kaggle で好成績を残すメンバーは、ヒューリスティックな最適化アルゴリズムの検討・実装や、機械学習モデルの構築などの業務を中心に幅広く活躍しています。また、モデルの本番運用に向けたシステム開発などの幅広いエンジニアリング業務にも、多くの競技プログラマーが携わっています。エンジニア職のみならずマネジメント職で AtCoder に日常的に取り組むメンバーもいて、各々が多様な取り組み方で競技プログラミングを楽しみながらスキルを向上させています。

AtCoder Heuristic Contest の終了後にはオフィスや Slack 上で感想戦が行われています。また、自己研鑽のための書籍等の購入補助精度、 Kaggle コンペのマシンリソース補助制度、プログラミングコンテストの成績に関する社内表彰制度など、会社としてコンテスト・コンペの参加を支援する環境が整っています。

2024 年版・MC Digital 競プロ実態調査!

競技プログラミング参加歴

MC Digital社員のAtCoder 到達レーティング(人数)

他コンテスト・コンペ等

  • Kaggle Grand Master 1名、Master 4名、Expert 1名
  • 2023年度のKaggleコンペで金メダルを複数獲得
  • PG BATTLE 2023 「企業の部」2位 (3年連続上位入賞)
  • ICPC 国内予選突破・アジア地区大会進出 7名, World Final進出 1名
コンテスト/コンペ結果の詳細はこちらをご覧ください

社内AtCoderユーザーからのメッセージ

  • hitonanode: 新たな春の風物詩(?)として 3 回目の弊社コンです、奮ってご参加ください!
  • Yoko453: 暖色でなくても生きていける会社なので安心してお越しください
  • namonakiacc: 競プロやKaggleを始め高い能力を持った方々から面白い話を沢山伺えるし、何よりみなさん親切に教えてくださるのでとても働きやすいです!
  • takoshi: 数理最適化モデルを作成する以外にも、最適化結果をユーザーが直感的に閲覧/操作できるモダンなWebアプリを開発したり、ユーザーが抱える本質的な課題を見抜きプロダクトへ落とし込む、といった幅広い業務に携わることができます!
  • fuppy0716: 競プロをしている人が多く競プロ er が働きやすい職場なのはもちろん、プロジェクトの垣根を超えた知識共有なども盛んに行われエンジニアとしても成長できる職場だと思います!
  • rin204: 競技プログラミングを通じて知らないうちに身についていた知識を業務に活かせることも多く、またエンジニアリングスキルの高い社員も多いため日々成長しながら楽しく働ける環境だと思います。
  • sumitacchan: アルゴリズム・エンジニアリングともに興味の広いメンバーが多く、学びの多い職場です。ボードゲームやポーカーで遊ぶ会も定期的に開かれていて楽しいです。
  • s_shohei: 競プロやKaggleへの積極的な参加が推奨されている雰囲気があり、競プロerとKagglerにとって働きやすい職場環境だと思います。
  • 匿名: 強くて優しい人が沢山いる素敵な職場です。良い椅子とモニター2台、フリードリンクにフリースナックもあって環境面も素晴らしくおすすめです。
  • gasin: 競プロで学んだ技術を実世界に応用したい方に適した環境だと思います
  • 匿名: 同僚や上司が皆さん優秀なうえ、優しく教えてくださるのでとても働きやすいです!月一でボドゲ会が開催されるのも嬉しいです。
  • makecir: MC Digitalは、メンバーがお互いの特性や強みを尊重し合いながら業務に取り組む素晴らしい職場だと感じています。インターンシップや入社を通じて、最適化手法や技術に関心のある皆様と交流できることを楽しみにしています。

賞品

順位(全体の順位ではなく、条件を満たした方から構成される順位)により、Amazonギフトカードを用意しております。また1位~10位に入賞された方は、オフィス見学&焼肉会にも招待いたします(希望者)。

総合順位 金額
1位 100,000円
2位 50,000円
3位 30,000円
4位~5位 20,000円
6位~10位 10,000円
11位~20位 5,000円

その他

  • 大学生および大学院生の方には、弊社のインターンシップや採用イベント等のご案内をさせていただくことがございます。
  • 社会人の方には、弊社のキャリア採用イベント等のご案内をさせていただくことがございます。
  • 賞品対象者の方には参加時にご登録いただいたメールアドレスに詳細をご連絡させて頂きます。なお必要事項をご提供頂けない場合は賞品対象外とさせて頂きます。
  • 日本国内に居住されていない方、MC Digitalの社員は賞品対象外となります。
  • 何らかの理由により賞品配送が完了しなかった場合、ご登録いただいたメールアドレスにご連絡させて頂きます。2週間以内にご返信がない場合は賞品対象外となります。
  • 賞品対象者が対象外となった場合には、賞品対象者に次ぐ順位以下の方を、順番に繰り上げて贈呈します。
  • 該当順位が複数名いる場合は抽選とさせて頂きます。


ルール

  • 問題は1問です。AtCoderで使用できるすべてのプログラミング言語を使用可能です。
  • 誤提出・再提出のペナルティはありませんが、解答を提出する際は前回の提出から30分以上の間隔を開ける必要があります。
  • コンテストは個人戦です。2人以上で結託し、解答する行為は禁止しております。
  • コンテスト終了前に、問題の考察や解答を公開する行為は禁止しております。ただし、提供されたツール類の動かし方に関する情報は自由に共有して構いません。
  • コンテスト中に表示されているランキングの結果は暫定的なものとなります。コンテスト終了後に暫定順位付けに用いられた入力とは別に用意されたより多くの入力に対するシステムテストを行い、その結果が最終順位となります。暫定順位付け用の入力はシステムテスト用の入力には含まれません。システムテストはCE以外の結果を得た一番最後の提出に対してのみ行われるため、最終的に提出する解答を間違えないようご注意下さい。
  • その他のルールは こちら を参照してください。

メニューについて

なお、上メニューバーの各ボタンの機能は、以下の通りです。

  • トップ : 現在閲覧中のページです。
  • 問題 : コンテストの問題の閲覧ができます。
  • 提出 : コンテストの問題に対する、解答ソースコードを提出することが出来ます。
  • 質問 : コンテスト全体、および各問題に対して、コンテスト中に質問し、その回答を閲覧することが出来ます。
  • 結果 : 今までに自分が提出した解答を閲覧することができます。また、コンテスト終了後には他の参加者の解答状況を閲覧することが出来ます。
  • 順位表 : 現在のコンテストの順位表が閲覧できます。

その他

利用規約ルール用語集よくある質問 をご一読下さいませ。

Contest Information

About AtCoder Heuristic Contest(AHC)

This is a new series of programming contests that will be held regularly on AtCoder. Unlike algorithm contests such as ABC/ARC/AGC, the goal is to create a better solution to a problem for which it is difficult to find the optimal solution. For examples of problems, see past contests of similar format.

AHC will have a new rating system that is different from the existing ABC/ARC/AGC rating system. Unlike the ABC/ARC/AGC ratings, AHC will use a rating system that does not decrease even if contest performance is poor. Please feel free to participate.

We are planning to hold a long-term contest with a duration of more than a week and a short-term contest with a duration of less than a day, alternately about once a month. We plan to use the same ratings for both the long and short contests, but we may need to use different ratings, or correct the rating formula, due to the possibility of a large bias in the number of participants. For this reason, the ratings will remain in beta for a while. Contest results during the beta period will be used in the official rating. However, due to changes in the rating formula, the rating may change when the official version is released.

Rules

  • There is one problem. You can use any programming language available on AtCoder.
  • There is no penalty for resubmission, but you must wait at least 30 minutes between submissions.
  • The is an individual competition. It is prohibited to publish your solution before the end of the contest. However, you are free to share information on how to run the provided tools.
  • The ranking results displayed during the contest are provisional. After the contest is over, the system tests against more inputs will be run. The inputs used for provisional ranking will not be used for the system tests. The system test will be performed only for the last submission which received a result other than CE.
  • For other rules, see here.