並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 178件

新着順 人気順

競技プログラミングの検索結果41 - 80 件 / 178件

  • 【執筆体験記】大学 1 年生が、アルゴリズムの本を書くまで - E869120's Blog

    0. はじめに こんにちは、東京大学 1 年の米田(@e869120)と申します1。私は競技プログラミングが趣味であり、AtCoder や 日本情報オリンピック などに出場しています。2021 年 12 月 30 日現在、AtCoder では赤(レッドコーダー)です。 この度、「アルゴリズム×数学」が基礎からしっかり身につく本 を技術評論社より出版しました(既に発売されています)。アルゴリズムと数学を同時に習得できる新しい入門書です。本の内容や特徴については、 アルゴリズムと数学の本を書きました - E869120's Blog をご覧いただければと思います。 実際、一冊の本を完成させるというのは決して簡単なものではありませんでした。本記事では、本を書いたきっかけや、どのように執筆が進んだかについて記したいと思います。 目次 0. はじめに 目次 1. 本を書くことを決めるまで 1.1 競

      【執筆体験記】大学 1 年生が、アルゴリズムの本を書くまで - E869120's Blog
    • N番目の素数を求める - すぎゃーんメモ

      SNSなどで話題になっていたので調べてみたら勉強になったのでメモ。 環境 Pythonでの実装例 例1 例2 例3 エラトステネスの篩 Rustでの実装例 試し割り法 エラトステネスの篩 アトキンの篩 おまけ: GMP Benchmark 高速化のテクニック 上限個数を見積もる Wheel factorization オチ Repository References 環境 手元のMacBook Pro 13-inchの開発機で実験した。 2.8 GHz Intel Core i7 16 GB 2133 MHz LPDDR3 Pythonでの実装例 例1 最も単純に「2以上p未満のすべての数で割ってみて余りが0にならなかったら素数」とする、brute force 的なアプローチ。 import cProfile import io import pstats import sys def m

        N番目の素数を求める - すぎゃーんメモ
      • レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】 - Qiita

        このように、競技プログラミングはコーディングの正確性が問われるコンテストです。 どんな問題が出されるか(2) 競プロは正確性だけではありません。例えば、以下の問題を考えてみてください。 $N$ 枚のカードが一列に並べられています。 左から $i$ 番目のカードには、整数 $A_i$ が書かれています。 あなたは $N$ 枚のカードの中から $2$ 枚同時に選び、取ることができます。取った $2$ 枚に書かれた整数の合計がちょうど $101$ となるような、カードの選び方の通り数を求めてください。 テストデータの制約:$1 \leq N \leq 10^{6}, 1 \leq A_i \leq 10^{9}$ 一番最初に考えられる解法は、以下のように「何枚目と何枚目を選ぶか全探索する」という方法だと思います。つまり、$1 \leq i < j \leq N$ を満たすすべての $(i, j)

          レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】 - Qiita
        • 競技プログラミング、ソフトウェア・エンジニア、コミュニティ

          なんか言及もされたのでアンサー的に書いてみたけど、アンサーには大してなってないな? ってやつです。一部で言及された、競技プログラミング (競プロ) 関係の話。 その前に、「プログラミングの競技」っていろいろあります。 短時間で問題に解答していく型 (ICPC / 情報オリンピック / AtCoder Regular / TopCoder とか)最適解が容易に求まらない問題のスコアを競う型 (SuperCon / AtCoder Heuristic / ISUCON / ゴルフ / ICFP Programming Contest の一部とか)対戦型 (ICFP Programming Contest の一部とか、最近のはあんまり知らないですが RoboCode / Imagine Cup とか)謎解き型 (ICFP Programming Contest で何回かありましたね。 UMIX

          • Kaggleや競プロのトップランカーが持つ「本質的な強み」とは。リクルートが作り出す、競技と業務の好循環 - はてなニュース

            ソフトウェアエンジニアがプログラミングの腕を競い合う競技プログラミングや、データサイエンティストや機械学習エンジニアが機械学習モデルの精度を競い合うKaggle。こうしたコンペティションのトップランカーが持つテクニックやスキルを実際の業務にも活かそうとしている、あるいはすでに活かしている企業も少なくないでしょう。 一方で、その能力を最大限活かして仕事に取り組めるかには課題も残っているようです。「競技のトップランカー」の肩書きに引きずられるためか、彼らの強みを活かすためには起用範囲を絞らざるをえない、という悩みも方々から聞こえてきます。 そんな中、リクルートではトップランカーのスキルや技術だけでなく、「本質的な強み」に着目。その「本質的な強み」を、領域を横断してさまざまなプロジェクトに活用することで、事業課題の解決やサービス価値の向上につなげています。 トップランカーの「本質的な強み」とは、

              Kaggleや競プロのトップランカーが持つ「本質的な強み」とは。リクルートが作り出す、競技と業務の好循環 - はてなニュース
            • 競技プログラミングとChatGPTを含むAIについて - chokudaiのブログ

              はじめに この記事は、ChatGPTを受けての競プロ周りの情報、およびchokudai個人の意見を発信したものです。基本的にはAtCoderの運営についても同方針を取る予定ですが、方針が変わり次第、AtCoderのHP/Twitter等で告知されます。 現在のAtCoderにおける競プロAIの実力についての事実 AtCoderのコンテストに対するソースコードはインターネット上に多くあり、おそらくそれを学習してChatGPTなどが作成されているため、過去問を利用して解ける/解けないを判定すると、過剰に解ける側に寄ってしまいます。 そこで、最新のコンテストで調査した事例について、Twitterからいくつか引用します。 ABC280にChatGPTを参加させてみました。結果はC問題まで解くことができ、順位は7245人中5290位でした。 A問題→ノータイムで正解 B問題→ノータイムで正解 C問題

                競技プログラミングとChatGPTを含むAIについて - chokudaiのブログ
              • Python 競技プログラミング高速化tips (PythonでAtcoderをやる際に個人的に気を付けてること) - じゅっぴーダイアリー

                こんにちは。最近やよい軒の彩定食にハマってるじゅっぴーです。 自分の確認と最近Pythonで競技プログラミング始めたよーという人向けを兼ねたPython高速化記事です。 競技プログラミングはAtcoderを想定しています。 はじめに Pypyを使う! みんな一度は通る道 Pypy一択なもの Pypyじゃだめなもの Python定数倍高速化のテクニック 最後に はじめに 今回の今の時点でのA問題の言語別提出コード数、 全体: 7000 C++: 3240 Python3: 2000 って感じで75%くらいがC++とPython3で提出されてる— saba (@saba_kpr) 2019年5月25日 最近PythonでAtcoderをはじめている人がどんどん増えています。 一方で『Pythonの高速化テクニック:C++で書き直す。』というネタがあるほど、Pythonは劇遅です。 競技プログラ

                  Python 競技プログラミング高速化tips (PythonでAtcoderをやる際に個人的に気を付けてること) - じゅっぴーダイアリー
                • プログラミング初心者の40代おじさんが1年かけてAtCoder緑になった話(色変記事) - Qiita

                  はじめまして。六月と申します。 ・ツイッターはこちらです ・AtCoderのプロフィールはこちらです 風の噂で、AtCoderでは色が変わった際に色変記事というものを書く文化があり、この時ばかりは大いに自分語りが許されると聞きました…。 そこで、もしかすると人によっては、私の色変記事が参考になる可能性もあるのではないかと思い、筆をとりました。 きみたち、おぢさんの話を聞いてみないか…。 お暇な方はどうぞお付き合いください。 簡単な自己紹介 私は40代で、社会人生活の折り返し地点を迎えつつあります。私生活では小学生の子供を持つ父でもあります。大学は文系で、これまで情報科学の教育・訓練を受けた経験はありません。 業界の特性もあり、私の勤務先ではいまだにFAXと手書き書類がかなり使われています。普段はそのような、おおよそITとは無縁の、むしろ昭和ライクな環境で仕事をしています。 そういったことも

                    プログラミング初心者の40代おじさんが1年かけてAtCoder緑になった話(色変記事) - Qiita
                  • AtCoder と Rust で始める!競技プログラミング入門(Rust 版 APG4b)

                    競プロ( AtCoder 青 / CodeForces 青), C / C++ , Rust ,Arch Linux に関連する記事を書くと思います

                      AtCoder と Rust で始める!競技プログラミング入門(Rust 版 APG4b)
                    • AtCoderで青色(8割以上のIT企業でアルゴリズム力はカンスト)になったので青になるまでに必要そうなことをまとめる - Qiita

                      はじめに 趣味と勉強を兼ねて競技プログラミングをしている @kami634 です。この度、AtCoderで目標としていた青コーダーになりました。 青色というのは、一定水準以上のアルゴリズムの知識を持ち、それを問題解決に活かすことができないとなることができません。それゆえに多くの人の目標になっていると思います。 chokudaiさんのブログ記事に青のレベル感が記載されていたのでご参考に↓ 黄・橙・赤などの上を見上げると、青色というのは通過点に過ぎず、まだまだ必要なことは多いです。ですが、青色レベルのアルゴリズム力があれば多くの問題を解決することが可能でしょう。 ということで、水色や青色あたりを目指す方のために、自分が必要だと思ったことをまとめたいと思います。 そもそもAtCoderとは AtCoderとは、競技プログラミングのコンテストを開催する日本最大のサイト(及びそれを運営する会社)です

                        AtCoderで青色(8割以上のIT企業でアルゴリズム力はカンスト)になったので青になるまでに必要そうなことをまとめる - Qiita
                      • 【AtCoder】Pythonで競プロをするときの注意点まとめ【競技プログラミング】 - Qiita

                        これは何? 競技プログラミングをPythonでやるときに注意すべき点をまとめました。 言語選択編 PythonがAtCoderには5種類ある AtCoderにはPythonの処理系が5つ入っています。具体的には Python (CPython 3.11.4) Python (Mambaforge / CPython 3.10.10) Python (PyPy 3.10-v7.3.12) Python (Cython 0.29.34) SageMath (SageMath 9.5) の5つです。それぞれ特徴があります。 Python (CPython 3.11.4) 一番オーソドックスなPythonです。 一般に(競プロ界隈でなく)Pythonというときはこれを指すと思います。 Python (Mambaforge / CPython 3.10.10) mambaforge経由で導入されたp

                          【AtCoder】Pythonで競プロをするときの注意点まとめ【競技プログラミング】 - Qiita
                        • 40代で Rust を触り始めて 1年で AtCoder に入水できた件 - Qiita

                          はじめに hossie - AtCoder 2023/04/01 に AtCoder 入水しました (参加者の上位 10% ほどにあたる水色レートに到達)。参加から一年ほどでした。 本記事は色変に関する、まとまりのない長文ポエムです。 入緑の色変記事 AtCoder 緑になったのでパズル好きな人に競プロを紹介してみる - Qiita Rust 初心者の AtCoder 用開発環境設定と、解く流れの例 - Qiita Rust 初心者の AtCoder でよく使う言語機能とライブラリー覚え書き - Qiita スペック 開発環境 Microsoft Surface Laptop 2 + Windows 11 外付けディスプレイ、外付けキーボード、マウスは使っていません Visual Studio Code + Rust + cargo-compete 中の人 44歳、子育て世代 プログラミン

                            40代で Rust を触り始めて 1年で AtCoder に入水できた件 - Qiita
                          • レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】 - Qiita

                            ※ ダイクストラ法・ワーシャルフロイド法は最短経路問題を解くアルゴリズムです。 ※ クラスカル法は最小全域木問題を解くアルゴリズムです。 それらのアルゴリズムが学習できる記事たちなどを紹介します。 全探索 全探索には、「全列挙」「ビット全探索」「順列全探索」「再帰関数を用いた全探索」など多くの種類に分かれます。しかし、基本的に以下の記事を読めば全部理解できます。 全列挙 たのしい探索アルゴリズムの世界【前編:全探索、bit全探索から半分全列挙まで】 の 2 章 その他の全探索 たのしい探索アルゴリズムの世界【前編:全探索、bit全探索から半分全列挙まで】 の 3 章 二分探索 アルゴリズムの代表例ともいわれる二分探索は、以下の 2 記事で解説されています。 二分探索とは:アルゴリズムを勉強するなら二分探索から始めよう! 『なっとく!アルゴリズム』より 競プロで使える二分探索:二分探索アルゴ

                              レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】 - Qiita
                            • Let’s 競技プログラミング! E8さんが教える アルゴリズム発想のキホン(12) アルゴリズムの基本用語 - 「グラフ」とは?

                              皆さんは「グラフ」という言葉を聞いて何を思い浮かべますか。Excel の折れ線グラフや棒グラフを想像する方が多いことでしょう。しかしアルゴリズムの文脈では、グラフは「モノとモノを繋ぐ関係」のことを指します。今回は、グラフの基本について整理した上で、どんな問題をグラフで表すことができるのかを紹介します。 グラフとは グラフは、モノとモノを繋ぐ関係を表すネットワーク構造のようなものです。グラフは頂点と辺からなり、頂点はモノを、辺は繋がりを表します。イメージしづらい場合は、鉄道路線図の駅を頂点、線路を辺と考えると良いでしょう。なお、頂点同士を識別するため、各頂点には 1、2、3…… と番号が付けられることが多いです。 無向グラフと有向グラフ 下図左側のように、辺に向きが付いていないグラフを「無向グラフ」と言い、下図右側のように、辺に向きが付いているグラフを「有向グラフ」と言います。例えば、一方通

                                Let’s 競技プログラミング! E8さんが教える アルゴリズム発想のキホン(12) アルゴリズムの基本用語 - 「グラフ」とは?
                              • ChatGPTに競技プログラミングさせてみた【AtCoder】 - Qiita

                                FizzBuzz PracticeA - Welcome to AtCoder AC ABC086A - Product AC ABC049C - 白昼夢 AC まとめ いかがだったでしょうか(ry AtCoderプロンプトエンジニアリング界隈が発展してほしいです

                                  ChatGPTに競技プログラミングさせてみた【AtCoder】 - Qiita
                                • GPT-4は青色コーダーの夢を見るか - Qiita

                                  はじめに 2023/3/14にOpenAIがGPT-4という新しいAIモデルを公開しました。 このモデルはさまざまなタスクにおいてChatGPT(GPT-3.5)を大幅に上回る結果を示しています。 この記事ではGPT-4を用いて競技プログラミングがどのくらい解けるのかについて調べてみました。 下馬評 OpenAIが公開した論文によると、GPT-4のCodeforcesレーティングは392だそうです。 これはパーセンタイルでいうと下から5%らしいので、 そこまで競技プログラミングが得意なわけではないようです。 ただし、おそらくこれはGPT-4が完全自動でチャレンジした場合のことだと思われます。 GPT-4が書いたコードを人間がレビューすることでバグを修正し、より難しい問題が解ける可能性があると 筆者は考えました。 TL; DR ChatGPTを用いてAtCoder Beginners Con

                                    GPT-4は青色コーダーの夢を見るか - Qiita
                                  • 『競技プログラミングの鉄則』書評

                                    書籍『競技プログラミングの鉄則』(マイナビ出版)を著者の @e869120 氏から恵贈いただいたので書評を記します。 C++ で書かれたコンテスト対策本は、いわゆる蟻本 (2012), 螺旋本 (2015) があり、コンテストが一部のマニアックな情報系向けだった時代のニーズには十分な書でした。 ところが昨今の AtCoder を中心とする競技人口の変化、レーティング競争、過去問の蓄積によって、エントリーレベルかつ効率的に基本テクニックを習得できる、モダンなジャッジシステムと連係する学習リソースの需要が高まり、競プロ典型 90 問 (2021) のような試みがなされてきました。 本書はその延長線上にあり、AtCoder の大多数の登録者、あるいは潜在的な登録者、つまり膨大な過去問から地道にテクニックを吸収していく体力と時間的な余裕が足りず、低難度の問題から先へ進むことができない人々の道標とな

                                      『競技プログラミングの鉄則』書評
                                    • Pythonで競プロをしよう!〜入門者が知っておくべきTips〜

                                      こんにちは、Finatextグループのナウキャストでデータエンジニアをしているけびん( Twitter: @Kevinrobot34, AtCoder: Kevinrobot34 )です。先日、PyCon JP 2020で、「Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜」という題名で発表をさせていただきました。発表時のスライドと動画はこちらです。 この内容について、少し加筆してまとめようと思います。 はじめに最近AtCoderを中心に、競技プログラミングの人気が高まっています。 C++で参加している人が最も多いですが、Pythonで参加している人もかなり増えています。 Pythonは書きやすい一方でC++と比べてしまうと実行速度が遅く、Logicは正しくてもPythonだとTLE(Time Limited Exceeded, 時間超過)してしまうことも少なくあり

                                        Pythonで競プロをしよう!〜入門者が知っておくべきTips〜
                                      • しばらく34,35歳のおっさんである事実を忘れてみる - seri::diary

                                        これはなにか なぜ忘れる必要があるのか なぜ忘れさせてほしいのか 競プロが面白くなってきたので本気でAtCoder青を目指したい 機械学習が面白くなってきたのでE資格取るところまで行きたい 年齢を忘れる期間が2年間である理由 おわりに これはなにか 2020年5月から2022年3月の間は自分が34,35歳のおっさんであることを忘れさせて欲しい件に関するexcuseである. なぜ忘れる必要があるのか 時々自分の年齢を思い出すと「同年代の友人たちは子育てに忙しい一方で俺は仕事とAtCoderの精進に忙しい.実は相当問題のある生き方をしているのではないか.」と不安になる.その問に対する問答を脳内でシミュレートすると,10 hop程度の問答を経ていつも同じ結論に帰着する. 「褒められた生き方ではないかもしれないが,やりたいことをやって,その結果社会に役に立つoutputをしてお金を稼げるようになり

                                          しばらく34,35歳のおっさんである事実を忘れてみる - seri::diary
                                        • あのアルゴリズムはどこ? Pythonを使用してAtCoderの緑色や水色を目指す方に、30以上のアルゴリズムスニペットと100問以上の問題(ACコード付き)を紹介! - Qiita

                                          あのアルゴリズムはどこ? Pythonを使用してAtCoderの緑色や水色を目指す方に、30以上のアルゴリズムスニペットと100問以上の問題(ACコード付き)を紹介!PythonアルゴリズムAtCoder競技プログラミングPypy 0.はじめに 2020年の5月よりAtcoderのコンテストに参加してから一年経った、現在水色コーダーとなりました、H20と申します。 AtCoderではPythonを使用して参加しており、水色になるまでに様々なアルゴリズムを使用しました。 アルゴリズムについてはほとんど自作せず、有識者の作成されたスニペットを調べては、ある程度理解しながら使用していました。 この記事では、Pythonにてあるアルゴリズムを使用する際にお勧めな書き方の説明をしているスニペットの記事に、それを利用してACしたコードを添えて紹介していきたいと思います。 (ただ、私のACコードは極力見

                                            あのアルゴリズムはどこ? Pythonを使用してAtCoderの緑色や水色を目指す方に、30以上のアルゴリズムスニペットと100問以上の問題(ACコード付き)を紹介! - Qiita
                                          • AtCoderで青色になるまでにやったこととプログラマー35歳定年説 - kusano_k’s blog

                                            https://atcoder.jp/users/kusano はい。 みんな「AtCoderで○色になるまでにやったこと」みたいなタイトルで、右肩上がりのレートのグラフとともに楽しそうな記事を書きやがって。 こちとら2年かけてジワジワとレートが下がり、とうとう下の色に変わってしまった。 これがやりたかっただけなので、競技プログラミング力の向上に繋がる有益な話は、この記事にはほとんど無い。 解答を清書してブログに解説記事を書くというのはオススメだけど。 私と競技プログラミング 「○色になるまで」という記事には、いつ頃から競技プログラミングを始めて、○○年頃には何をしていたか、みたいなことを書くものらしい。 Cマガ電脳クラブ 今の競技プログラミングとはちょっと違うけれど、「Cマガ電脳クラブ」が最初だろうか。 今は無きC MAGAZINEという雑誌があり、その中の「Cマガ電脳クラブ」というコー

                                              AtCoderで青色になるまでにやったこととプログラマー35歳定年説 - kusano_k’s blog
                                            • 【第4回】競技プログラミングはITエンジニアをどう鍛えるか | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

                                              プログラミングのスキルは、ウェブをはじめシステム開発の業務に欠かせないものですが、それ自体を「競技」として楽しみ、練習を通じて上位を目指すという世界もあります。そんな競技プログラミングにおいて「強くなる」ことは業務におけるプログラミングスキルの向上に関係があるのか、そもそも人間にとって「学び」とは何なのか、日本語で参加できる競技プログラミングのコンテストを定期的に開催するAtCoder株式会社の高橋直大さんと青木謙尚さんが、株式会社一休でウェブシステム開発に携わる伊藤直也さん、所澤友大さんと語ります。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてなブックマーク」などの開発を主導。グリー株式会社では統括部長としてSNSを担当した。2016年4月、一休に入社し執行役員CTOに就

                                              • 「Kaggle Grandmaster」PFN秋葉氏は、スキ...

                                                世界有数の研究者やITエンジニアが集うAI企業Preferred Networks(PFN)。秋葉拓哉さんは、同社で機械学習基盤の執行役員を務めている。前職は国立情報学研究所の特任助教で、世界最高峰の国際会議で多数の論文が採択される研究者だった。さらに競技プログラミングのコンテスト「TopCoder」では、世界で数十人しかいない「ターゲット」というレベルに達し、データ分析コンペティション「Kaggle」では、世界で200人ほどの「Kaggle Grandmaster」の称号を得ている。 競技プログラミングとKaggleでその道を究めた秋葉さんは、習得したスキルや知識をどのように業務に生かしているのか。挫折を味わいながらも、それを乗り越えてきた秋葉さんのキャリアをひもとく。【松本香織、羽田顕人、斎藤公也】 〈Profile〉 秋葉 拓哉(あきば・たくや) 株式会社Preferred Netw

                                                  「Kaggle Grandmaster」PFN秋葉氏は、スキ...
                                                • 競プロerのための群論 (swapと順列と対称群) - little star's memory

                                                  お知らせ Zennに移植しました。今後こちらの記事は更新されず、Zennの方のみ更新します。 zenn.dev この記事では競技プログラミングと群論に関する解説をします。競技プログラミングの問題を群論という立場から見ることで、新たな視点を得ることができるようになると思います。また、群論の入門にもなればいいなと思っています。 swapと順列 競技プログラミングの問題に、swapと順列は多く登場します。swapとは、2つの要素を入れ替える操作のことです。例えば、次のような問題があります。 第二回全国統一プログラミング王決定戦予選 C - Swaps (問題ページ) $ N $ 要素からなる2つの整数列 $ A_1,\ldots,A_N $ および $ B_1,\ldots,B_N $ が与えられます。以下の操作を $ N-2 $ 回まで(0回でもよい)行うことで、1以上 $ N $ 以下のすべ

                                                    競プロerのための群論 (swapと順列と対称群) - little star's memory
                                                  • 1からプログラムを書く能力を問う検定 第3回アルゴリズム実技検定を無償提供 5/23(土)〜6/6(土)の期間中いつでもオンライン受験可能

                                                    AtCoder株式会社(本社:東京都新宿区/代表取締役社長:高橋直大、以下AtCoder)は、プログラミングスキルを可視化する日本初のオンラインプログラミング検定「アルゴリズム実技検定」第3回試験を5月23日(土)〜6月6日(土)に開催いたします。 AtCoderは、新型コロナウィルス感染症対策で外出自粛が続く状況を鑑みて、第3回アルゴリズム実技検定の受験資格を無償で提供いたします。就職・転職活動を始める学生・社会人の皆さま、プログラミングスキルの腕試しをしたいエンジニアの皆さま、受験費用がネックとなって本検定受験を控えていた皆さま、自宅待機を期にプログラミングを始めた皆さまに、無料で受験いただける機会をご用意いたしました。 アルゴリズム実技検定ホームページ(https://past.atcoder.jp)にて本日よりお申込みいただけます。 本検定は自宅からオンラインで受験でき、5月23日

                                                      1からプログラムを書く能力を問う検定 第3回アルゴリズム実技検定を無償提供 5/23(土)〜6/6(土)の期間中いつでもオンライン受験可能
                                                    • Ruby競プロTips(基本・罠・高速化108 2.7x2.7)

                                                      計測方法は、(10**6).times{ }のような最小限のコードです。 実際、制限時間が2秒だとして、10の7乗台前後から、想定解法でも厳しくなってくる印象です。 それ以前の1,000,000回(10の6乗)で2秒超えてTLEするなら、自分の書いたアルゴリズムを疑いましょう。 今のC++は10の7乗だと「余裕をもって間に合う」レベルらしいので、C++と比べるとRubyは10倍遅い感じです。 競技プログラミングでは、問題に与えられた要素数も 方針・アルゴリズムを考えるヒントになるので、このあたりの感覚はもっておくとよさそうです。 高速化手法のまとめ・見方 先に高速化のまとめがあった方が親切かと思い、簡単にまとめておきます。 (まとめの方にしか書いてないのもあります……) 本記事は、アルゴリズムの話も少し混じっていますが、アルゴリズムはRubyに限らないので、ほぼ触れてません。 「アルゴリズ

                                                        Ruby競プロTips(基本・罠・高速化108 2.7x2.7)
                                                      • [ほぼ無] 無職競技プログラマの中途就職活動

                                                        概要この記事は業務歴6~7年のAtCoder水~青の無職で競技プログラマが中途の就職活動をまとめた記事です。競技プログラマの中途での転職・就職活動に役立てれば良いと思い書きました。 この記事は全て個人の感想です。コーディング面接の対策については書きましたが、優れたコーディング面接対策の記事や教材は大量にあるのでそちらを参考にしたほうが良いです。おすすめはこちらの記事です。 Twitter で医師が拾われて Google のソフトウェアエンジニアになって 3 年半が過ぎましたコンテキスト2022年11月に4年半勤めていた会社(外資系日本法人)からレイオフ/退職勧奨の通知を受けました。各方面と相談したり仕事へのモチベーションを考えて退職に合意しました。 最終出社日は通知からの10日後でその間にも引き継ぎ作業があり転職活動する時間は無く、退職する時は次の職場は決まっていませんでした。大手外資企業

                                                        • AtCoderで赤になるまでにやったこと - koba-e964の日記

                                                          AtCoderで赤タッチしたのももう1.5年も前ですが書きます。覚えていないこと・抜け・漏れなどのオンパレードですがご容赦ください。 お前は誰 kobae964 - AtCoderです。2017年11月に初めてAtCoderでredになりました。 RedCoderになりました!!!! pic.twitter.com/PcRWWu32qS— koba (@kobae964) 2017年11月11日 なんで今更これ書いたの 当時は面倒だったので書きませんでした。その後人々が変色時に記事を書いていくようになり、見かけた記事は大体全部読んでいました。 微笑ましいと思ったもののAtCoderの赤でそれをやった人を見たことがなかったので、せっかくなので書こうと思いました。すでに誰か書いていたらごめんなさい。 注意事項 筆者はAGCよりもARCの方が得意なため、AGCでの立ち回りは強い人に聞いてください

                                                            AtCoderで赤になるまでにやったこと - koba-e964の日記
                                                          • 積の和典型 - Shirotsume の日記

                                                            最近積の和典型が話題になっているので書きます。 N個のマス目が横一列に並んでいる状況を考えます。初め、全部のマスは白色です。このうち K 個のマスを選んで黒く塗った時にできるマスの状態は何通りでしょうか? これを こうする これは 通りです。 これを応用すると、次のような問題が解けます。 長さが N であって、総和が M である非負整数列の個数を求めよ。 非負整数列というのは、各要素が負の数でない整数からなる数列です。[1, 2, 3, 4, 5] とか [0, 0, 1, 4, 3] とかです。これの個数を数えるのに、先ほどのマスの数え方を使うことができます。 まず、 M + N - 1 個の白いマス目を用意します。そのあと、そこから N - 1 マス選んで塗ります。こうしたとき、必ず M 個のマスが白いままで残っています。また、マスの両端や黒マスを境目として考えると、白いマスが連続する

                                                              積の和典型 - Shirotsume の日記
                                                            • 響け!動的計画法 (DP) 入門〜個人的まとめ

                                                              動的計画法(DP)の基礎知識から例題、考え方、解説コードまで記載した個人的メモ

                                                                響け!動的計画法 (DP) 入門〜個人的まとめ
                                                              • 「競プロ典型 90問」Smallest Subsequence (最小部分列問題)

                                                                最小部分列問題 「 競プロ典型 90 問」の 006 - Smallest Subsequence(★5) (最少部分列問題) という問題を解いてみたのですが、最初は解説をみてもさっぱり分からず打ちひしがれていました・・・。 が、けんちょんの競プロ精進記録 を見るに、どうもこの問題を解く途中で出てくる nex という配列が「極めて汎用性が高いので、実にさまざまな問題で活用できます!!!」ということらしく、ちゃんと理解しといた方が良さそうだ・・・ということで気を取り直して取り組んでみたところなんとか理解できました。 せっかくなので忘れないうちに解説記事を作って記憶を定着させたいと思います。なお後半の実装パートは、Haskell で実装します。 けんちょんさんの解説記事にあるとおり、この問題 (を全探索で解く場合) の解法のキーになるのは事前に「任意の文字が i 番目以降に出現する位置」を二次

                                                                  「競プロ典型 90問」Smallest Subsequence (最小部分列問題)
                                                                • よくやる再帰関数の書き方 〜 n 重 for 文を機械的に 〜 - けんちょんの競プロ精進記録

                                                                  時は 2020 年 5 月 3 日。 ここ最近、AtCoder では、「再帰関数を用いた DFS な全探索」というタイプの問題が激増しています!!! AtCoder ABC 165 C - Many Requirements (昨日のやつ) AtCoder ABC 114 C - 755 AtCoder ABC 119 C - Synthetic Kadomatsu AtCoder ABC 161 D - Lunlun Number パナソニックプログラミングコンテスト D - String Equivalence これらの多くは緑後半から水色前半の difficulty を叩き出す、とても恐れられている問題たちです。しかし実のところ、「ちょっと複雑だけど、単純に全探索するだけ」という側面もあります。 これらの出題が最近急増しているのは、おそらくは AtCoder 社側に 最近の AtCo

                                                                    よくやる再帰関数の書き方 〜 n 重 for 文を機械的に 〜 - けんちょんの競プロ精進記録
                                                                  • デバッグ力を高める! ~5 年間の経験から学んだ、競プロ・アルゴリズム実装におけるバグ取りの戦略~ - Qiita

                                                                    こんにちは、大学 1 年になったばかりの E869120 です。 私は 5 年前に趣味で競技プログラミングを始め、AtCoder や日本情報オリンピックなどに出場しています。ちなみに、2021 年 5 月 5 日現在、AtCoder では赤(レッドコーダー)です。 今回は、アルゴリズムや競技プログラミングの問題を速く解くために必要な、効率的なデバッグの方法について記したいと思います。是非お読みください。 1. はじめに 皆さんがプログラミングの問題を解いていく際に、次のような場面に遭遇したことはありますでしょうか。おそらく、読者の大半が「はい」と答えると思います。 ソースコードに謎のミスを埋め込んでしまったせいで D 問題が解けない… ああ、プログラムを 1 文字変えただけで WA(不正解)が AC(正解)に変わった、悲しい… このように、プログラムにバグ(プログラム実装上のミス)を埋め込

                                                                      デバッグ力を高める! ~5 年間の経験から学んだ、競プロ・アルゴリズム実装におけるバグ取りの戦略~ - Qiita
                                                                    • AtCoderで赤になるまでにしたこと - てんぷらのぷらはC++のぷら

                                                                      赤コーダーになりました!!!! チュートリアル修了!!!!! pic.twitter.com/WMPzYqnfrL — てんぷら (@tempura_cpp) September 21, 2019 ひとつの到達点なので。 自己紹介 ・京都大学理学研究科M2(数学系) ・公立高校出身 ・ぎりぎり数オリ勢(春合宿参加1回で数オリ勢名乗るのおこがましい) ・競技プログラミングも含めてプログラミングを始めたのは2018年1月から(当時B4) したこと 問題を解いた Solved By tempura0224 TopCoder: 19 CodeForces: 432 AtCoder: 1076 AOJ: 181 yukicoder: 95 Sum: 1803 https://t.co/JyHa0kaQ4F — てんぷら (@tempura_cpp) September 23, 2019 1800問く

                                                                        AtCoderで赤になるまでにしたこと - てんぷらのぷらはC++のぷら
                                                                      • アルゴリズム - PukiWiki

                                                                        2023-05-31 ふるさと納税 2023-05-26 スマホ 2023-05-18 ヘビ貿易 2023-05-10 料理 2023-05-08 投資 2023-04-29 包丁 2023-04-09 美容 2023-04-04 魚 ダイエット 2023-03-31 レシピ 2023-03-28 電工 電験 2023-03-20 睡眠 研ぎ 2023-03-14 電磁気学 2023-03-13 子育て 2023-03-08 FrontPage 2023-03-04 トラブルシューティング 2023-02-20 真人間のアンチパターン 2023-02-12 量子コンピュータ 学習 2023-02-06 結婚 2023-01-26 ネットワーク 2023-01-20 Ubuntu 2023-01-18 英語 2023-01-16 ブロックチェーン 2023-01-15 カラオケ 仕事 法人

                                                                        • atcoderで赤色の統合失調症の患者です

                                                                          僕は統合失調症の趣味人ニートです。プログラミングを趣味としてやっています。 競技プログラミングの勉強は大変でした。atcoderでレッドコーダーになるまでの一連の勉強の方法について書こうと思います。 実は競技プログラミングを始める前までは、統合失調症ではありませんでした。単なるニートです。 僕は生産的な趣味をネットで探し、DIYは体力を使うから嫌だし、料理は太るから嫌だという理由で、競プロにたどり着いたのです。 最初はgithubで公開されていた練習問題のリストを反復して行いました。 そしてコンテストの日になって、実際にやってみたら3問しか解けず、結果はひどいものでした。 しかし問題自体は、練習問題さえできるレベルであれば解けるものだったのです。 そこで僕は「応用力が足りない」のだと仮説を立て、応用力のためには見たことのない問題に取り組む必要があると考えました。 インターネット上で探すこと

                                                                            atcoderで赤色の統合失調症の患者です
                                                                          • 競プロのアルゴリズム関連略称まとめ - noshi91のメモ

                                                                            随時募集しています 略称 正称 APSP All Pairs Shortest Path BB Branch and bound BBST Balanced Binary Search Tree BFS Breadth First Search BIT Binary Indexed Tree BM Berlekamp-Massey BM Boyer-Moore BSGS Baby-Step Giant-Step CHT Convex Hull Trick CRT Chinese Remainder Theorem D&C Divide and Conquer DAG Directed Acyclic Graph DEPQ Double-ended priority queue DFS Depth First Search DP Dynamic Programming DST Disjoin

                                                                              競プロのアルゴリズム関連略称まとめ - noshi91のメモ
                                                                            • 厳選!C++ アルゴリズム実装に使える 25 の STL 機能【前編】 - Qiita

                                                                              (AtCoder Beginner Contest 152 で提出されたソースコードの分類) それほど C++ が、競プロやアルゴリズムの学習に人気であるのには、以下のような理由があるのです。 計算速度が 1 秒あたり $10^{8} ~ 10^{9}$ 回程度と、他のプログラミング言語に比べ高速だから。 基礎的文法の習得がそれほど難しくないから。 しかし、C++ の利点はこれだけではありません。元々用意されている標準ライブラリがあるのです。一方、標準ライブラリは C++ を学ぶ大きな障壁となるものの一つです。C++ を学ぶ上で標準ライブラリが上手く使えず挫折したという人も多いと思います。そこで本記事では、 競技プログラミングやアルゴリズムの実装に使える 25 個の C++ 標準ライブラリと、それらの各種アルゴリズム実装への応用例 を解説したいと思います!!!!! 本記事を読んだら何ができ

                                                                                厳選!C++ アルゴリズム実装に使える 25 の STL 機能【前編】 - Qiita
                                                                              • 競プロは業務の役に立っているか?~ふるやんの場合~

                                                                                こんにちは。お久しぶりです。ふるやん(@furuya1223)です。 気がついたら社会人一年目が終わっていました。いつの間に。 先日の ICPC のスポンサー紹介動画で「競プロが業務に役立った経験はあるか」について少し触れましたが、その動画の公開が終了したので、社会人一周年記念も兼ねてそんな話をしようと思います。 ※ 2021/4/3 19:03 に「動的計画法」「編集距離 DP」について加筆し、トポロジカルソートに関する記述を一部修正しました。 前置き 私は大学 2 年ぐらいから AtCoder を始めた者です。レーティングは黄色ですが最終参加は 2021/1/16 です。なお、厳密には情報系の学科出身ではありません。AtCoderプロフィール 仕事では音声認識の研究開発をしています。つまり、多くのソフトウェアエンジニアとはだいぶ違うことをしています。 なので、ほとんどの人には参考になら

                                                                                  競プロは業務の役に立っているか?~ふるやんの場合~
                                                                                • エラトステネスの篩の活用法を総特集! 〜 高速素因数分解・メビウスの反転公式 〜 - Qiita

                                                                                  とても久しぶりです! 1 年ぶりの投稿となりました、大槻 (通称、けんちょん) です。 去年、『AtCoder 版!マスター・オブ・整数』と題して、プログラミングコンテストで出題される整数問題を解くときに有効な考え方を特集する記事を 2 本書きました! AtCoder 版!マスター・オブ・整数 (素因数分解編) AtCoder 版!マスター・オブ・整数 (最大公約数編) 今回はその続編として、素数を列挙するアルゴリズムであるエラトステネスの篩を特集していきます。なお今回の記事の内容は、競プロへの応用を意識していますが、純粋に数学的興味に沿って読み進めることもできるものになっています。下図は、これから紹介するエラトステネスの篩のイメージ図です。 0. はじめに エラトステネスの篩は、$1$ 以上 $N$ 以下の素数をすべて列挙する方法です。たとえば $20$ 以下の素数を列挙すると、$2,

                                                                                    エラトステネスの篩の活用法を総特集! 〜 高速素因数分解・メビウスの反転公式 〜 - Qiita