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

京セラプログラミングコンテスト(AtCoder Heuristic Contest 006)参戦記

AtCoder Heuristic Contest 006に参加して、13位 performance 2831、人生初の赤パフォでした。 レーティングも2174と黄色入りして、ランキングは73位でなかなかの順位です。 自社の応募要件に「ヒューリスティック最適化に強いこと(threecourseと同レベル以…

ゲノコン 問題Dでやったこと

ゲノコンD問題でやったことです。途中暫定1位まで行ったのですが、そこから伸ばせませんでした。(D問題は6位) 分析用コードを消さずに提出したところを評価してもらったようで、審査員特別賞を頂くことができました。 atcoder.jp atcoder.jp 問題の概要 文…

ゲノコン2021 問題Cの最高点解法

ゲノコンを頑張っていました。順位は5位で審査員特別賞を頂きました。 D問題については別途記事を書こうと思いますが、C問題で4人しかいない最高点を取れたので、解法を記しておきます。 atcoder.jp 問題 atcoder.jp Largeで40個、長さ750の文字列をいい感じ…

AtCoder Heuristic Contest 005 参加記

AtCoder Heuristic Contest 005に参加し、16.3Mで143位でした。 atcoder.jp 解法 本番では一番近くのまだ到達していない「通り」に進むだけの貪欲しかできなかったため上記の点数でした。 やりたかった解法は以下のとおり。 問題の解釈 問題を良く読むと、縦…

Togetterをスクレイピングしてヒューリスティックコン解法を集める

agwさんがヒューリスティックコンがあるときにだいたいTogetterまとめを作って下さっていて、それが情報収集にとても有り難いです。 自分の気になったツイートだけ抽出したくなったのでツールを作ってみました。 スクレイピング github.com 「残りを読む」ボ…

AtCoder Heuristic Contest 003 参加記

AtCoder Heuristic Contest 003に結構時間を溶かして参加し、96.7Bで暫定29位でした。 https://atcoder.jp/contests/ahc003 解法 ベースはRidge回帰+ダイクストラで最短路を選択 M=2を意識して行/列ごとに2個パラメータを持たせるようにした 最初の90ター…

フロントエンド何もわからない(その6)〜 Introduction To Heuristic Contestのビジュアライザを作った

threecourse.hatenablog.com のつづきです。 今回の成果物はAtCoderのIntroduction to Heuristics Contest のビジュアライズで、人間では到底良さげな解に到達できないところ、最適化だと1秒程度で綺麗な解を出してくれるのが見てて面白い。 visualizer.thre…

マラソンマッチのビジュアライザいろいろ

マラソンマッチのビジュアライザについて、各者/各社さまざまな作り方をしているので、まとめてみました。 longcontest-visualizer-framework kimiyukiさんのlongcontest-visualizer-frameworkおよびRCO/リクルートの日本橋ハーフマラソンで使われている方…

ソフトウェアのアーキテクチャについて(その3)~ 良書とクリーンアーキテクチャ

以下の記事の続きです。 threecourse.hatenablog.com ドメイン駆動設計についての書籍 ドメイン駆動設計周りを学ぶには、以下の2冊が良さそう。 「実践ドメイン駆動設計」から学ぶDDDの実装入門 www.amazon.co.jp/dp/B07S675HVM amazonレビューを見るとスル…

AtCoder Heuristic Contest 002 参加記

atcoder.jp スコア4.32M 107位 パフォ2117でした。 解法 mmlang (https://github.com/colun/mmlang) を使ってビームサーチ 点数は見ない 36分割して一筆書きのルートを設定し、できるだけ進みが遅い方を加点、ルートからはみ出たら減点 評価がタイのものは乱…

colunさんのMM Languageを学ぶ

colunさんの作成されたMM Languageを学んでみます。 https://github.com/colun/mmlang https://github.com/colun/mmlang/blob/master/doc/introduction.md マラソンマッチに勝とう!という目的というよりは、DSLや抽象化を考察することで何かに役立てられな…

ソフトウェアのアーキテクチャについて(その2)~ ドメイン駆動設計から得られる知見

以下の記事の続きです。 threecourse.hatenablog.com 参考文献 以下の本でドメイン駆動設計について学んだところ、小〜中規模のプログラムの設計・記述についてもなかなかの知見・示唆が得られたので、まとめてみます。 エリック・エヴァンスのドメイン駆動…

フロントエンド何もわからない(その5)〜 React Hooks + Redux + TypeScriptでいいんじゃね

去年から悩んで来ましたが、React (React Hooks + Redux) + TypeScript に落ち着きそうな気がしてきました。 前提 Webページの制作よりは、ヒューリスティックコンテストや数理最適化などのビジュアライザをさくっと作るのが主な目的です。 メインのフレーム…