並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 721件

新着順 人気順

atcoderの検索結果281 - 320 件 / 721件

  • たのしい探索アルゴリズムの世界【前編:全探索、bit全探索から半分全列挙まで】 - Qiita

    1. 探索アルゴリズムとは 探索アルゴリズムとは、以下のような手法のことを指します。 探索アルゴリズムとは、大まかに言えば、問題を入力として、考えられるいくつもの解を評価した後、解を返すアルゴリズムである。(Wikipediaより) もう少し具体的に書くと、「あり得るパターンを全部列挙する」という手法のことを全探索といい、これが探索アルゴリズムの基本です。また、4 章で後述する二分探索などを用いて探索回数を減らすアルゴリズムも探索アルゴリズムの仲間です。 分かりやすいように、一個例を説明しましょう。 「おねえさん問題」に学ぶ、探索アルゴリズム ところで、以下の問題をご存知でしょうか。 $N \times N$ の碁盤目状道路がある。左上座標を $(0, 0)$、右下座標を $(N, N)$ とするとき、左上の座標から右下の座標まで、同じ交差点を通らずに行くような方法は何通りあるか。 例えば

      たのしい探索アルゴリズムの世界【前編:全探索、bit全探索から半分全列挙まで】 - Qiita
    • RubyでPriority Queue

      今日の夜、会社の競プロイベント#2が開催された。バーチャルコンテスト形式で10人以上が参加してわいわいやった。途中参加だったけどめちゃくちゃ楽しかった。 問題の中で、愚直にやったらTLEするようなものがあった。計算量に気をつけないといけないやつ。 (この問題 => C - Factory) 結論から言うと、Priority Queue(優先度付きキュー)があればシュッと解けるんだけど、Rubyの組み込みライブラリにはなさそうだった。 Priority QueueはHeap(木構造が)あれば実装できるけど、それもなさそうな感じだったので書いてみた。 それがこちら。 https://gist.github.com/akht/3749fac291c527aeb043c40b12c4950a このブログでは展開されないので中身を貼っておくとこんな感じになってる。 class MinHeap def

        RubyでPriority Queue
      • エンジニア選考プロセスの改善 | メルカリエンジニアリング

        Mercari Advent Calendar 2020 の10日目は、メルカリ Engineering Office の sadah がお送りします。僕はエンジニア採用や育成を担当しています。所属している Engineering Office はこんなチームです! 「全てのエンジニアに最高の従業員体験を」メルカリEngineering Officeってどんなチーム? TL;DR メルカリでは継続的にエンジニア採用活動の改善を行っています。今回はエンジニア選考プロセスの概要と、ライブコーディングインタビューの導入についてご紹介します。エンジニア採用に関わっているエンジニアや人事の方、メルカリの選考に興味のあるエンジニアの方には、参考になる情報もあると思います。 メルカリのエンジニア選考プロセスの概要 エンジニア選考プロセスには、書類選考、コーディングテスト、技術課題、面接などがあります。各

          エンジニア選考プロセスの改善 | メルカリエンジニアリング
        • Googleのインターンホストマッチングに2年連続落ちた話 - Joeの精進記録

          (追記)こんにちは、社会人のJoeです。この当時はいろいろ未熟なところが多く、記事の内容がかなり過激なのですが、当時の気持ちを尊重したいという考えもあって、残しておきます。記事の最後に社会人目線での今の感想も載せておくのでよければそこまで目を通していただけると幸いです。では。 まあ今回はホストマッチング用のFormを提出しなかったぼくが悪いようですが(マッチング時期を夏休みのインターンとかぶらないように変えたかっただけなんですが未提出という扱いになったっぽい)、以前から言いたいことが多かったので書きます。 ほんとは受かったら思う存分苦情を書いてやろうと思ったのですが、受からずに書くのは恥ずかしいですね インターンに合格するまで Step 1 応募する。これはStudent向けのインターンに応募すれば90%ぐらいの確率で返信が来るはずです。海外のインターンやインターンでない募集に応募した場合

            Googleのインターンホストマッチングに2年連続落ちた話 - Joeの精進記録
          • 【競プロ】青色までに戦う6つの敵 - Qiita

            AtCoderで青色になりました。色変記事です。 本記事では、水色から青色になるまでにしたことについて書きます。 灰色から水色になるまでにしたことは水色の時の色変記事を読んでいただけると幸いです。 vs 典型パターン 同レート帯のほとんどが当たり前のように解けるタイプの問題は、自分も当たり前のように解きたいですよね。 アルゴリズムやデータ構造はもちろん、数学問題やアドホックでも、ABCの一色下を「典型」として処理できるようにならないと、なかなかレートが上がりません。苦手分野だからと緑diffを落としてしまうとパフォが悲惨なことになってしまいます。 精進方法 2023年4月現在、とりあえず『鉄則本』(競技プログラミングの鉄則 ~アルゴリズム力と思考力を高める77の技術~)を埋めておけば間違いないでしょう。一部高度な内容を含みますが、ABCで出る範囲の内容なのでやって損はないはずです。 演習が

              【競プロ】青色までに戦う6つの敵 - Qiita
            • 自作 Set ライブラリ提供 : C++ の std::set が残念な件 - Qiita

              はじめに C++ の std::set は素晴らしいライブラリです。自前でこれを実装しようとしてもなかなかここまで速いものは作れないでしょう。 std::set の代替手段として tatyam さんのライブラリが有名ですが、これは std::set がない Python のためのやつなので、Python ユーザー限定です。 Python に順序付き集合がないことはよく話題に上がることなのですが、C++ の順序付き集合である std::set も競プロをする上ではなかなか残念なので、C++ 用の順序付き集合ライブラリを公開すればみなさん嬉しいかもと思い、公開するに至りました。 競技プログラミングにおける活用 std::set にもつけ入る隙があります。 要素アクセスが線形時間 集約や遅延評価が載っていない 値の重複を許さない(これは std::map と併用するなどで解決できますが) これら

                自作 Set ライブラリ提供 : C++ の std::set が残念な件 - Qiita
              • エンジニアの成長を支えるエニグモのカルチャー "若手勉強会" を紹介します - エニグモ開発者ブログ

                こんにちは、2022年に新卒入社したエンジニアの川本と橋野です! この記事は Enigmo Advent Calendar 2022 の6日目の記事です。 エニグモでは社内の若手を中心にjunior workshopという名で勉強会を行っております。 経験の浅いメンバーの技術力アップを主目的としておりますが、興味のある方はどなたでも参加できる会となっています。(ベテランの方大歓迎です!) 勉強会の形式と、半年ほど勉強会をやってみて感じた、よかった点、今後やってみたいことなどを紹介できればと思います! よかった点 よかった点1:知見の共有 1つの技術書を読むのにも、1人で読むより、勉強会であれば様々な知見を持ったメンバーが集まっているので吸収できることが多いです。 技術書の内容を業務で実践したことがある人からは、具体的なエピソードを聞くことができますし、抽象的な概念の勉強をしている時は特に理

                  エンジニアの成長を支えるエニグモのカルチャー "若手勉強会" を紹介します - エニグモ開発者ブログ
                • なぜ Ruby の組み込みメソッドを覚えなくてはならないのか? - エニグモ開発者ブログ

                  こんにちは、サービスエンジニアリング本部の寺田です。 軽く自己紹介になりますが、私は SIer で SE を2年間経験したのち、現職のエニグモには 2020/7 よりジョインしております。 普段は主に Ruby on Rails を用いた BUYMA のサーバーサイド開発をやっています。 最近興味ある事はアルゴリズムで、週末には Atcoder にちょくちょく挑戦したりしています。 ちなみに、この記事は Enigmo Advent Calendar 2022 の7 日目の記事になります! 12 月はこのように弊社のエンジニアが記事を執筆しますので、ぜひお楽しみに! 組み込みメソッドをなぜ覚える必要があるのか? 私が嫌いなものそれは暗記です...なるべく覚えるものは少なく済ませたい、そんな思いが私にとって常にあるのです。そんな私にとってプログラミングを勉強したての頃に思ったことはこれでした。

                    なぜ Ruby の組み込みメソッドを覚えなくてはならないのか? - エニグモ開発者ブログ
                  • 非情報系レッドコーダーの就活体験 - tozangezan's diary

                    レッドコーダー(銅冠です)が就活を(2019年に)体験しました。 留意事項 文章書くのが苦手なので、頑張って解読してください。あとはてなの仕様もよくわからないので謎の文字でスペース調整してますが、許してください。 書くモチベ 巷の就活体験記などでは「レッドコーダーのような強い方々に関してはわかりませんが」などといったフレーズによって無視され続けている存在であるレッドコーダーの話もしたいです 界隈の就活を巡る正しい話正しくない話によそから唐突に変化球を投げる 文章書く持久力の練習 背景 東大農学部 → 東大農学生命科学研究科 修士(2020年修了) (生態学やってました) 🐺 競プロ参加は2009年(中3)から 海外オンサイト(ICPC World Finals 銀, IOI 銀, Facebook Hacker Cup Finalist, Distributed Code Jam Fin

                      非情報系レッドコーダーの就活体験 - tozangezan's diary
                    • 社内プログラミングコンテスト「AtCoderゼミ Beginner Programming Contest #1」を開催しました | CyberAgent Developers Blog

                      社内プログラミングコンテスト「AtCoderゼミ Beginner Programming Contest #1」を開催しました AbemaTVでバックエンドエンジニアをしている村松です。 私の所属するAtCoderゼミで、10月23日に社内プログラミングコンテスト「AtCoderゼミ Beginner Programming Contest #1」を開催しました。 この記事では当日の様子も交えて、内容をお伝えします。 AtCoderゼミとは? CyberAgentにはゼミ制度という、業務時間の一部を研究や技術の向上に使うことができる制度があり、AtCoderゼミはそれらのゼミの中の1つです。 AtCoderゼミでは、AtCoderや競技プログラミングを通して、アルゴリズムや問題との向き合い方を習得することを目標に活動しています。 現在、約8名のメンバーが所属しており、ほとんどが今年に入っ

                        社内プログラミングコンテスト「AtCoderゼミ Beginner Programming Contest #1」を開催しました | CyberAgent Developers Blog
                      • 必須教養!?プログラミング“金メダリスト”に学ぶ「アルゴリズム」【橋本幸治の理系通信】(2022年3月30日)

                        興味深いサイエンスニュースをお伝えする「理系通信」。 今回のテーマは「アルゴリズム」です。 アルゴリズムとは「計算手順」のこと。 スーパーコンピューターをもってしても計算に100年かかるような問題を、「うまいアルゴリズム」を使えば0.01秒で解けてしまうこともあります。 そんなアルゴリズムの魅力を、国際情報オリンピックで金メダルを三度獲得したプログラミングの達人である、東京大学新2年生の米田優峻さんに教えてもらいます。 ※引用元: 問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本(米田優峻 著) https://gihyo.jp/book/2022/978-4-297-12521-9 #アルゴリズム#プログラミング#E8さん#競技プログラミング#数学#動的計画法#二分探索法#幅優先探索#最短経路問題#線形計画法#E869120#競プロ#AtCoder WBS、モーサ

                          必須教養!?プログラミング“金メダリスト”に学ぶ「アルゴリズム」【橋本幸治の理系通信】(2022年3月30日)
                        • こわくないbit全探索1 入門編: bit全探索ってなに?【競プロ解説】 - Qiita

                          競技プログラミング(AtCoder)初心者が、最初に突き当たる壁になることが多いアルゴリズムのひとつに『bit全探索』があります。 この記事では、その『bit全探索』についてできる限り丁寧に解説をしていきます。 記事リンク 1. 入門編 bit全探索ってなに? : bit全探索はどんなことをするアルゴリズムなのか解説します。 2. 基本編1 簡単な例題でbit全探索をやってみよう! : 簡単な例題(部分和問題)で実際にbit全探索を実装してみます。 3. 基本編2 2進法を使って実装してみよう! : 2進法を使ったbit全探索の実装をしてみます。 4. 実践編 AtCoderの問題を解いてみよう! : AtCoderのbit全探索を使う問題のヒントとコード(Python・C++)を載せています。 5. 応用編 3つ以上の選択肢は再帰関数で書こう! : 再帰関数を使ってbit全探索に似た問題

                            こわくないbit全探索1 入門編: bit全探索ってなに?【競プロ解説】 - Qiita
                          • bit 全探索 - けんちょんの競プロ精進記録

                            0. はじめに ビット演算については、以下の記事で特集しました。 qiita.com しかし、この中で、bit 全探索に関する説明がだいぶ簡潔すぎたので、ちゃんと書きたいなと思って、この記事書きます!!!ただし、ビット演算に関する知識は前提としているので、そこに不安のある方は上の記事を読んでもらえたらと思います。 具体的には、以下の表を見てピンとこなかった場合には、先に上記の記事を読んでもらえたらと思います。 なお、この記事は、 Competitive Programming (1) Advent Calendar 2019 の 6 日目の記事として書きました。 1. bit 全探索で何ができるか bit 全探索とは、 個のものから、いくつか選ぶ方法を全列挙して調べ上げる手法 です!!! 個のものからいくつか選ぶ方法は、 通りの選択肢があります。たとえば のとき、3 個のアイテム {2,

                              bit 全探索 - けんちょんの競プロ精進記録
                            • Developer eXperience Day 2024【参加無料・アーカイブ配信あり】|EventRegist(イベントレジスト)

                              2024年7月16日(月)と17日(火)の2日間にわたり「Developer eXperience Day 2024」(一般社団法人 日本CTO協会主催)を、オフライン・オンラインのハイブリッド形式で開催いたします。 【参加無料・アーカイブ配信あり】です。ぜひご参加ください! 開催概要 名称:Developer eXperience Day 2024 開催日:2024年7月16日(火)・17日(水) 開催形式:オフライン(現地参加)・オンライン配信 会場:浅草橋ヒューリックホール&カンファレンス アクセス:https://hulic-hall.com/access/ JR総武線「浅草橋駅(西口)」より徒歩1分 参加方法:事前申込制(参加費:無料) 申込サイト:本イベントサイトよりお申込みください 参加対象: ソフトウェア開発の第一線で挑戦するエンジニアをはじめ、テックリード、エンジニアリン

                                Developer eXperience Day 2024【参加無料・アーカイブ配信あり】|EventRegist(イベントレジスト)
                              • 新米エンジニアが1か月のトラブルシューティングで学んだこと | フューチャー技術ブログ

                                まえがきはじめまして。TIG DXチームにアルバイトとして参加させていただいている本田直樹と申します。 昨年12月にAtCoder Jobs経由でアルバイト採用していただき、今月でちょうど半年になります。普段は文系大学生をしています。 採用後のアルバイトの作業は、 ゲームエンジンを利用したIoT情報可視化ツールの開発 Qiita記事をフューチャーのAdventCalendarに投稿 golang.tokyo #29に社員の先輩方と登壇 IoTクラウドインフラの開発 現在進行形でお手伝いしています に携わらせていただいております。 今回は、アルバイト業務でシステム開発するにあたり、ProxyやDNSなどのネットワーク周りで一か月強も溶かしてしまったので、その過程で学んだトラブルとの向き合い方についてまとめます。 トラブルの内容環境 WSL (Ubuntu 18.04) Go言語(go1.14

                                  新米エンジニアが1か月のトラブルシューティングで学んだこと | フューチャー技術ブログ
                                • LAPRASを使ったらアウトプットがチョット楽しくなった話 - 雑史

                                  はじめに 個人的な考え方が変わったことであって、宣伝ではないしただのポエム的なもの。 LAPRASとは リンク こんな風にスコアを出してくれる。 こんな感じでスカウトも来る。 今まで インプットはそれなりにしていた。 アウトプットはほどほどにという感じ。 文章にすることとか、うまくまとめることが苦手だった。コード書くのは好きなのに。 アウトプットした方がいいとか、社外評価がとか言われるとすごく納得するし、やらなければなと思うんだけど、インプットして仕事でアウトプットして外には出さずに終わっていた。 きっかけ 単純に登録したLAPRASで意外と足跡がついていてスコアを上げたかったから。 あとは、機械学習の勉強しているときにちょっとアウトプットしてみるか、的なモチベーション。 別に綺麗な理由なんてないけど、今までよりgithubにcommitするようになった。 そんな感じでやっていたら、アウト

                                    LAPRASを使ったらアウトプットがチョット楽しくなった話 - 雑史
                                  • あえて機械学習は使わない、最適化AIで重厚長大産業の業務を変革

                                    人工知能(AI)というと機械学習や深層学習が注目されがちだが、実はそれはAIの半分にすぎない。あとの半分、いわば「アナザーAI」は企業の生産計画や物流などで重要な役割を果たす「最適化AI」だ。最適化AIを実現するための技術が、「焼きなまし法」や「ビームサーチ」などの「ヒューリスティックアルゴリズム(メタヒューリスティクス)」である。この連載では、競技プログラミングサービスを提供しているAtCoderの高橋直大社長が、アルゴリズムに対する深い知識を生かし、最適化AIを活用している企業を訪ねて取り組みを探っていく。 今回は、ディー・エヌ・エー(DeNA)からスピンオフしたAIベンチャーのALGO ARTIS(アルゴ・アーティス)を訪問した。電力、物流、製造といった重厚長大系企業のスケジューリング問題を最適化AIで解くことを得意としている。同社の取り組みを、永田健太郎社長、門脇大輔リードアルゴリ

                                      あえて機械学習は使わない、最適化AIで重厚長大産業の業務を変革
                                    • ばんくしさん、LAPRASのことどう思いますか? - LAPRAS NOTE

                                      LAPRASには多くのエンジニアがログインし自身のポートフォリオを見ています。 エンジニアから見てLAPRASはどんなサービスなのか、どんな点が良くてどんな点が悪いのか、今回はその疑問をユーザーであるばんくしさんに直接ぶつけてみました。 《プロフィール》 ばんくし さん(@vaaaaanquish) 新卒でSansan株式会社のR&D部門に入社し、画像認識エンジンや自然言語処理APIを開発。その後ヤフー株式会社で機械学習モデリングチームのリーダーとして開発、マネージメントに従事。2019年2月に機械学習エンジニアとしてエムスリーに入社。 ばんくしさん、ぶっちゃけLAPRASのことどう思います? ー 今回の記事の趣旨なんですが、LAPRASを使っていただいているエンジニアさんに「ここがダメだよ」とか「ここがいいよね」というお話を聞いて、ありのままを記事にしたいと思っています。 すごいオウンド

                                        ばんくしさん、LAPRASのことどう思いますか? - LAPRAS NOTE
                                      • Z-algorithm詳解と具体例 - Senの競技プログラミング備忘録

                                        新ABCになって、6問制になってから、2020/1/6現在まで、Z-algorithmは二回(500, 600)出題されてます。これからも継続して出そうな「文字列照合」で強力なツールとなるZ-algorithmですが、既存資料たちは非常によく説明されていますが、どこか筆足らずのような印象を受けました。 そこで、この記事でZ-algorithmに絞った説明、実際の挙動の説明、実装例を紹介します。 以下のページ、PDFを参考にしてます。 snuke.hatenablog.com 文字列アルゴリズム from HCPC: 北海道大学競技プログラミングサークル www.slideshare.net Z-algorithmで何ができるか? 文字列Sに対して、S[i : j]という記号を、Sのi番目からj番目(いずれも0-idx)までの連続部分文字列とします。 例えば、S="abcde"で S[1 :

                                          Z-algorithm詳解と具体例 - Senの競技プログラミング備忘録
                                        • 【CTF入門】ELFバイナリのリバースエンジニアリングに入門してみよう|かえるのほんだな

                                          かしわば(@yuki_kashiwaba)です。 リバースエンジニアになりたい趣味プログラマです。 Microsoft Japanに所属しています。 発言はすべて個人の見解です。 ・情報処理安全確保支援士 資格 ・HackTheBox ProHacker ・AtCoder 緑 ・自作OS、 競プロ、CTFがマイブーム 制作物はGithubにて公開してます。 このブログでは、プログラミングや自作OS、セキュリティに関する備忘録を書いてます。 好きな言語はC#とPythonで、ThinkPadとKindleを愛用してます。 質問・相談はお気軽に。 Twitterまたは問い合わせフォームまでお願いします。

                                            【CTF入門】ELFバイナリのリバースエンジニアリングに入門してみよう|かえるのほんだな
                                          • アルゴリズムと数学 演習問題集 - AtCoder

                                            この問題集について この問題集は、「アルゴリズム×数学」が基礎からしっかり身につく本(E869120 が執筆)に対応した自動採点システムです。 全部で 104 問のプログラミング問題が収録されています。 基本的なアルゴリズムを扱う問題だけでなく、数学的知識・数学的考察を問う問題もあります。 本を読んでいない方に対する注意 本には「手計算問題」「プログラミング問題」合わせて全 200 問が掲載されていますが、この自動採点システムでは「プログラミング問題」しか扱っていません。 このため、本を手に取っていない方にとっては、いくつかの重要な知識やテクニックに関する問題を扱っていないと感じるかもしれませんが、ご了承ください。 なお、問題の解説は書籍本体に掲載されています。 目次(2 章:アルゴリズムのための数学の基本知識) 2.1 節|数の分類・文字式・2 進法 本文 2.1.3 項:001 - P

                                              アルゴリズムと数学 演習問題集 - AtCoder
                                            • C++入門者向けコード実行エディタをつくった話 - Qiita

                                              こんにちは、TumoiYorozuです。 現在は東京大学の博士 1 年生をしています。私は中学 1 年の頃からプログラミングをやっていて、特にアルゴリズムが大好きです。AtCoder をはじめとする 競技プログラミング にも取り組んでいて、高校生のときは情報オリンピックにも参加し、大学生のときは ICPC 国際大学対抗プログラミングコンテストに参加していました。現在はこれらの裏方をしています。 今回の記事では、 全くプログラミングを触れたことが無いような中高生を対象に 主にAtCoderや情報オリンピック、ICPCへの参加を考えている方を想定した C++を入門する際に最適な、ブラウザで使用できるコード実行エディタ を制作した話と紹介です! 良ければこの記事の LGTM、また GitHubリポジトリ の Star よろしくお願いします! 制作物 こちらのページになります! Simple C+

                                                C++入門者向けコード実行エディタをつくった話 - Qiita
                                              • 大半はあなた以下の知能という現実

                                                あなたはこういうテストで大抵は上位1%とかに食い込むというタイプの一人かもしれない。 https://www.hiqa.or.jp/testhttps://test.mensa.no/https://discovermyprofile.com/test/myIQ/IQが高くても人間であることに変わりはない。社会的本能とやらが発動すれば、たまに「友達を作りたいな」と思うことはある。 ある時、Twitterで「エヴェレット解釈」と検索し、物理学について何もわかっていない相対主義者・社会構築主義者・スピリチュアル馬鹿、などが湧いていて「ちゃんとした知識のある人と繋がりたいんだが...」と失望することもあなたはある。 世の中にはあなたの思うようなまともな知識や知能を備えた人間が全然いないのだ。 かと思うと「僕はMensa保持者でーす」と、それしか自慢することのないタイプの馬鹿もいて、なんだかなぁと

                                                  大半はあなた以下の知能という現実
                                                • KagglerへのNumeraiのススメ

                                                  この記事について 世界最大のデータサイエンスコンペプラットフォームであるKaggleの、なんらかのコンペに参加したことのある方で、 Kaggleもっと参加したいけど、手頃なテーブルコンペが全然ない... 魑魅魍魎が跋扈していて、上位(ゴールドメダル以上)、ましてや賞金を取るなんて夢のまた夢... Numerai?なんか聞いたことあるけど周りに誰もやってる人がいないのでワカラン という方、結構多いのではないでしょうか。この記事では、ちょっと変わったテーブルコンペであるNumeraiと、そのKaggleとの差分について簡単にまとめました。 (2021/05/22追記) 内容が一部古いところがあったため、追記・修正を行いました。 賞金配分の仕組み(e.g., MMC2倍拳, payout factor) NMRの買い方 シングルモデル vs アンサンブル! Numeraier-ja slack

                                                    KagglerへのNumeraiのススメ
                                                  • AtCoderで茶色から緑色に上がるには何を勉強すればよいか

                                                    この記事では、AtCoderで緑コーダー(800-)になるために必要な勉強について話そうと思う。 緑になった時に書くと言ってたのだが、色々あって書くのが遅れてしまった。 なぜ私がこれを語るにふさわしい人間かもし私が、一回目のコンテストでいきなり橙パフォを出して緑に上がるような人間だったら、 誰も私が緑コーダーになるために何かいうことに価値を感じないと思う。 緑コーダーになるための勉強法を茶色で躓いている人たちに語るためには、 やはり自身も茶色で躓いた経験が必要であると思う。 まず私は、35歳のプログラマである。 過去には、 dm-writeboost のようにちょっと知れたソフトウェアも書いたことがある。 たぶん、私のことをコードの書けない雑魚という人間はたぶんあまりいないのではないかと思う。 緑コーダーというのは、一般的な大学の学生で優秀なレベルであると AtCoderの高橋氏は述べてい

                                                      AtCoderで茶色から緑色に上がるには何を勉強すればよいか
                                                    • 厳選!C++ アルゴリズム実装に使える 25 の STL 機能【後編】 - Qiita

                                                      ですが、以下のように思った人も多いと思います。 今回の 25 個の標準ライブラリはわかったけど、どういう問題やどういうアルゴリズムの実装で活用できるのか??? そこで本章では、どのような問題を解くときに C++ の標準ライブラリが使えるのか、11 個の例を紹介します。 5-1. バブルソートの実装 (swap) バブルソートは、アルゴリズム解説本や、大学の授業などでも教えられることが多いようです。以下のような発想に基づいたアルゴリズムです。 「配列の中から、大きさが逆転している部分があれば swap する」という操作を繰り返す。 最終的に、大きさが逆転している部分が無くなれば操作を終了する。 この「バブルソート」は、swap 関数 を使うことで実装しやすくなります。実装例は以下のようになります。 ソースコード #include <iostream> using namespace std;

                                                        厳選!C++ アルゴリズム実装に使える 25 の STL 機能【後編】 - Qiita
                                                      • 誰でもできる焼きなまし法 - gasin’s blog

                                                        マラソン系コンテストに興味のある競プロer向けです。 前置き(注意) 焼きなまし法の概要 山登り法の概要 山登り法のパーツ 初期状態 スコア計算の関数 遷移関数 焼きなまし法のパーツ 温度関数 遷移確率関数 例 焼きなまし、その後 高速化 初期状態の吟味 温度関数、状態遷移関数の調整 遷移関数の調整 焼きなましの繰り返し 焼きなましの資料集(日本語) 前置き(注意) この記事で書くのは僕の感覚的なことです。 背景にある理論とかそういうのは僕はわからないです。 ただまぁ多分感覚でなんとかなります(多分)。 焼きなまし法の概要 山登り法にランダム性を入れて局所解に陥りにくくしたもの スコアが改善されたら無条件遷移だが、悪化のときも確率的に遷移する ランダム性を時間経過に応じて小さくしていくことで収束させていく ややこしそうに見えますが、実際にはやることは超単純です(後述)。 極論、山登り法さえ

                                                          誰でもできる焼きなまし法 - gasin’s blog
                                                        • AtCoderの色(灰~緑)とレベルの関係について - PCの歯車

                                                          この記事は、かなり主観が入っています。より客観的な色とレベルの関係が知りたい方は、AtCoder コンテストについての tips という記事が参考になると思います。 目次用語解説ABCAtCoder Beginner Contest のこと。初心者~中級者向けのコンテスト。 レーティング 2000 未満(青色まで)の人が Rated(レート変動あり)になる。 以前、ABC が 4 問体制だった頃はレーティング 1200 未満(緑色まで)が Rated だった。その頃の ABC は初心者向けのコンテストだったが、今の ABC(6 問体制)は中級者も対象になっている。 特に E,F 問題は中級者向けの問題(初心者には手が出ないことが多い)なので、はじめのうちは E,F 問題が解けなくても大丈夫。 AGCAtCoder Grand Contest のこと。上級者向けのコンテスト。 Rated の

                                                            AtCoderの色(灰~緑)とレベルの関係について - PCの歯車
                                                          • うさぎでもわかるアルゴリズム 動的計画法

                                                            こんにちは、ももやまです。 動的計画法は、アルゴリズムでもかなり重要な内容です。AtCoderやらプログラミングコンテストとかでもよく出てきます。 ですが、動的計画法は「アルゴリズムを学ぶ上での壁・登竜門」とも呼ばれるとおり、かなり難易度の高いアルゴリズムとなっています。どの参考書を見てもなかなかわかりやすくは書かれていません。 そんな動的計画法を今回はうさぎでもわかるようにわかりやすくかみ砕いて説明したいと思います。 1.動的計画法とは 動的計画法とは、 問題をいくつかの簡単で小さな問題に分割 それぞれの問題の計算結果を表に記録 同じ問題に対しては表から計算結果を参照する の3つの特徴を持ったアルゴリズムです。 といきなり言われてもわけがわからないと思うので、動的計画法のイメージを説明しましょう。 動的計画法のイメージ 例えば、\[ 28 \times 37 \]の計算を解きなさい。 と

                                                              うさぎでもわかるアルゴリズム 動的計画法
                                                            • 月間はてなブックマーク数ランキング(2023年2月) - はてなブックマーク開発ブログ

                                                              はてなブックマークのブックマーク数が多い順に記事を紹介する「はてなブックマーク数ランキング」。2023年2月のトップ50です*1。 順位 タイトル 1位 ゲームさんぽの次に見るべきYouTubeの教養コンテンツ 2位 知的好奇心がくすぐられる良質なゆっくり解説 3位 ノア・スミス「実は日本は様変わりしてるよ」(2023年1月23日) – 経済学101 4位 北朝鮮に鉄道マニア34人で押しかけた話|twinrail|note 5位 電源タップにこだわり18年で数百のタップを買い続けた人が結論づけた最高の電源タップがこちら「うちもこれ」「本当に最高」 - Togetter 6位 葬式って超大変。両親が健在な人こそ読んで!その1|とむよーこ|note 7位 ChatGPTが賢くなる!noteの深津さん考案「深津式汎用プロンプト」でChatGPTが劇的に使いやすくなった! - ディレイマニア 8位

                                                                月間はてなブックマーク数ランキング(2023年2月) - はてなブックマーク開発ブログ
                                                              • https://kenkoooo.com/atcoder

                                                                • 競技プログラミングのご紹介 — HACK The Nikkei

                                                                  はじめに こんにちは。ソフトウェアエンジニアの淵脇です。2020年から日本経済新聞社に入社しまして、日経IDの開発に携わっております。普段は趣味で競技プログラミングというものをやっており、また日経でも以前競技プログラミングのコンテストをいくつか開催しているということで、そのご紹介及び楽しさについて解説させていただきたいと思います。 競技プログラミングとは 競技プログラミングとは問題に対して正しい出力をするコードをいかに早く正確に書けるかを競い合うスポーツです。以前はプログラミングコンテスト(プロコン)といわれることも多かったのですが、最近は特にアルゴリズム系のコンテストを指して競技プログラミングといわれることが多いイメージです。 日本ではAtCoderが有名ですが、Codeforcesといった海外の大手サイトも含めほぼ毎週コンテストが開催されており、毎回数千人~1万人といった人数が参加して

                                                                    競技プログラミングのご紹介 — HACK The Nikkei
                                                                  • 駆け出しエンジニアはまず競技プログラミングをやれ - Qiita

                                                                    この記事はNuco アドベントカレンダーの6日目の記事です。 駆け出しエンジニアがまずやるべきこと 今あなたが駆け出しのエンジニア、あるいは未経験からエンジニアを目指そうとしている方であれば、当然ながら一通りの基本的なスキルを備えている必要があります。 何らかのプログラミング言語やSQLの文法、Gitの初歩的なコマンド、その他コンピュータサイエンスの基礎知識などがそれにあたるでしょう。 私はそれらに加えて競技プログラミングの勉強を強くお勧めします。 競技プログラミングとは 競技プログラミング(通称:競プロ)とは、数学的な思考力を持ってプログラミングによって問題を解く競技です。 国内のコンテスト運営会社ではAtCoderが最も有名でしょう。ほぼ毎週末、21:00からオンラインで参加費無料のコンテストが開かれています。 他にもyukicoderは同じく日本語で運営されていますし、世界的にはCo

                                                                      駆け出しエンジニアはまず競技プログラミングをやれ - Qiita
                                                                    • AtCoder LibraryのLazy Segtreeの使い方 - ARMERIA

                                                                      AtCoder Libraryが遅延伝播機能を持つセグメント木 atcoder::lazy_segtree を提供しているものの、何か渡すものいっぱいあるしドキュメントは数学用語だらけだしよく分からん!みたいな人向けの記事です。 問題を解いていて、セグメント木に必要な機能(区間加算操作と区間最小値取得がしたい!みたいな)が明確になったときに、それを実現するためには atcoder::lazy_segtree の生成時に何を渡せばいいかを考えられるようになることがこの記事の目標です。ただしコンテスト中に読める分量ではなくなったので、整数列に対する単純な機能の組み合わせについてはコピペで使えるチートシート的なものを別途作る予定です。→作りました 対象読者は「セグメント木(抽象化も遅延伝播もナシで可)を書いたことがあって、その構造と動作の仕組みについて何となく理解している人」くらいを想定していま

                                                                        AtCoder LibraryのLazy Segtreeの使い方 - ARMERIA
                                                                      • 第4回 Asprova プログラミングコンテスト - Roy_Rの競プロ日記

                                                                        2019/08/23~08/30にAtCoder上で開催されたマラソン型のプログラミングコンテスト『第4回Asprovaプログラミングコンテスト』に参加しました。 焼きなまし法が初めて成功して嬉しかったのと、ツカモさんにこう言われたので、記事を書いてみることにしました。 恐縮です…。 さぁ、ろいさんもブログ記事を書いて競プロ後継者erの糧となるのです! — ツカモ (@tsukammo) August 30, 2019 ということで、この記事は、自分(Roy_R)がコンテスト期間中にやったことを時系列にまとめて、他の人の役に立つといいなっていうのとともに、マラソンマッチ楽しい! と主張するものです。(あと、自分の復習のため) やったことを簡潔に列挙するのが本当はいいのかもしれませんが、このブログのタイトルは『競プロ日記』ですし、僕は日記調の文章しか書けないので、日記的な感じで考えたこととか

                                                                          第4回 Asprova プログラミングコンテスト - Roy_Rの競プロ日記
                                                                        • 2020競プロスラング用語集 - kaage精進録

                                                                          2020最新版競プロスラング用語集です。 「FFの競プロerが意味不明な単語を叫んでいてわからない!」 「界隈用語で溢れていて入っていけない!」という方、必見です。 ちょっと内輪ネタが入っているかもしれませんが、競プロ用語は全部内輪ネタみたいなものなので、よしとしましょう。 これであなたも競プロ界隈の仲間入りです。 色 AtCoder, Codeforces, TopCoderなどのコンテストでは、参加者に「レーティング」とそれに応じた「色」がつけられ、実力の指標になります。 サイトによって色は多少異なりますが、どのサイトでも赤が一番強く、「赤コーダー」になることは人々の夢です。 コンテスト プログラミングコンテストに参加することは、競プロerのライフワークです。 競プロerが「コンテスト」と言ったらプログラミングコンテストのことです。 「コン↑テ→スト↓」という謎のイントネーションで発音

                                                                            2020競プロスラング用語集 - kaage精進録
                                                                          • 2020年にやってよかった教材(機械学習関連の入門多め) - The jonki

                                                                            今年は仕事内容も変わって,いろいろなものを勉強した気がします.ということで買ってよかったもの,とは別に.やってよかった教材(書籍,オンライン教材,ブログ等)を紹介しようと思います.入門系多めです. Andrew Ng先生 今年はAndrew Ng(アンドリュー・エング)先生の大ファンになりました.Twitter界隈でまずNg先生のCourseraやCS229をやれ,という話は時折上がってくるので見てみたらハマりました.私は2017年ぐらいからNLPを始めて,機械学習の知識は必要に応じて勉強していたので,体系だってあまり学んで来ませんでした(高村先生の機械学習入門ぐらい). そこでゼロから勉強し直そうと思い,Andrew Ng先生の教材をやってみました. 結論から言うと非常に良かったです.これから機械学習始めたいという方に特にオススメ,というかこれ以外から始めない方が良いかも,と強く言いたい

                                                                              2020年にやってよかった教材(機械学習関連の入門多め) - The jonki
                                                                            • 【プログラミング言語速度比較】Collatz数列ベンチマークを言語別比較しよー! - 競プロメモ

                                                                              Collatz ベンチマーク 目次 Collatz ベンチマーク 目次 追記(2021/02/23) Collatz 数列とは やること 計測方法 ベンチマーク結果 結果表 編集履歴 感想 基本的に最速クラス 癖がある最速クラス 準最速クラス まぁまぁ早いクラス 普通クラス やや遅いクラス ビリ う 笑 言語別実装 Rust メモ化版 Rust C++ 編集前 編集後 Java Kotlin Scala Haskell CSharp Python & PyPy Crystal Golang JavaScript Fortran Ruby D 言語 Bash Swift Objective-C C 通常版 アセンブリ修正版 Bc Perl Php Vim Awk Lua Pascal Visual Basic Raku(Perl6) dc Nim Nim(uint) Cython Cytho

                                                                                【プログラミング言語速度比較】Collatz数列ベンチマークを言語別比較しよー! - 競プロメモ
                                                                              • たのしいプログラミング練習法 - @ledsun blog

                                                                                プログラミングが上達するのに、プログラミングする以外の方法はありません。 なるべくたくさんのプログラミング練習法を知っていて、 その時の自分の気分に合ったプログラミング練習法を使いわけて、 なるべく長い時間飽きずに、プログラミングを続ければ、スーパープログラマになれます。 練習法の名前は軽い気持ちでつけています。 かっこいい名前があれば教えて下さい。 練習法カタログ 写経 初めて使うプログラミング言語やライブラリをチュートリアルやGetting Startedに従い、自分の手で打って動作を確かめます。 未知の道具の典型的な使い方を体験します。 「デッサン」のようなものです。 説明を読んでもチンプンカンプンなプログラミング言語やライブラリも、自分でプログラムを書いて動かしてみると、あっさりわかります。 初歩的なプログラムでも動くと楽しいものです。 チュートリアルはその趣旨から、手軽な例が多く

                                                                                  たのしいプログラミング練習法 - @ledsun blog
                                                                                • 競技プログラミングの鉄則 演習問題集 - AtCoder

                                                                                  この問題集について この問題集は、競技プログラミングの鉄則(E869120 が執筆)に対応した自動採点システムです。 全部で 150 問以上のプログラミング問題が収録されています。 なお、各問題の難易度については、本をご覧ください(前半の章でも難しい問題があります)。 諸注意 問題番号は、原則として扱うトピックごとに割り振られています。 たとえば問題 A01 と B01 は同じトピック(1.1 節)に対応します。 そのため、一部の問題 ID が欠番になっていることに注意してください。たとえば問題 B05(本の 1.5 節に対応)は存在しません。 テストケースについて(10/11 更新) 演習問題のテストケースが公開されました。(リンク) 一部の問題はまだテストケースが入手できていませんが、9 割以上の問題のテストケースが公開されていますので、ぜひご活用ください。 目次 1 章:アルゴリズム

                                                                                    競技プログラミングの鉄則 演習問題集 - AtCoder