並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 111件

新着順 人気順

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

  • 大実験!ChatGPTは競プロの問題を解けるのか (2024年5月版) - E869120's Blog

    1. はじめに 2024 年 5 月 14 日、OpenAI 社から新たな生成 AI「GPT-4o」が発表され、世界に大きな衝撃を与えました。これまでの GPT-4 よりも性能を向上させただけでなく1、音声や画像のリアルタイム処理も実現し、さらに応答速度が大幅に速くなりました。「ついにシンギュラリティが来てしまったか」「まるで SF の世界を生きているような感覚だ」という感想も見受けられました。 しかし、いくら生成 AI とはいえ、競技プログラミングの問題を解くのは非常に難しいです。なぜなら競技プログラミングでは、問題文を理解する能力、プログラムを実装する能力だけでなく、より速く答えを求められる解法 (アルゴリズム) を考える能力も要求されるからです。もし ChatGPT が競技プログラミングを出来るようになれば他のあらゆるタスクをこなせるだろう、と考える人もいます。 それでは、現代最強の

      大実験!ChatGPTは競プロの問題を解けるのか (2024年5月版) - E869120's Blog
    • 40代で Rust を触り始めて 1年で AtCoder に入水できた件 - Qiita

      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに hossie - AtCoder 2023/04/01 に AtCoder 入水しました (参加者の上位 10% ほどにあたる水色レートに到達)。参加から一年ほどでした。 本記事は色変に関する、まとまりのない長文ポエムです。 入緑の色変記事 AtCoder 緑になったのでパズル好きな人に競プロを紹介してみる - Qiita Rust 初心者の AtCoder 用開発環境設定と、解く流れの例 - Qiita Rust 初心者の AtCoder でよく使う言語機能とライブラリー覚え書き - Qiita スペック 開発環境 Micr

        40代で Rust を触り始めて 1年で AtCoder に入水できた件 - Qiita
      • AtCoder と Rust で始める!競技プログラミング入門(Rust 版 APG4b)

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

          AtCoder と Rust で始める!競技プログラミング入門(Rust 版 APG4b)
        • 【AtCoder】Pythonで競プロをするときの注意点まとめ【競技プログラミング】 - Qiita

          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? これは何? 競技プログラミングをPythonでやるときに注意すべき点をまとめました。 numbaやcythonについてはあまり触れないので、別の記事も併せてご利用ください。 言語選択編 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

            【AtCoder】Pythonで競プロをするときの注意点まとめ【競技プログラミング】 - Qiita
          • AtCoder で水色になった - Obsidian Publish

            AtCoder で水色になった - Powered by Obsidian Publish.

            • 【ちょくだい】競プロer採用のミスマッチが起こる理由と、開発者体験が高いチームのつくり方【Developer eXperience Day 2024 レポート】 | レバテックラボ(レバテックLAB)

              TOPコラムテック最前線レポート【ちょくだい】競プロer採用のミスマッチが起こる理由と、開発者体験が高いチームのつくり方【Developer eXperience Day 2024 レポート】 【ちょくだい】競プロer採用のミスマッチが起こる理由と、開発者体験が高いチームのつくり方【Developer eXperience Day 2024 レポート】 2024年8月20日 AtCoder株式会社 代表取締役社長 高橋直大(ちょくだい) 2012年、慶應義塾大学環境情報学部卒業。2014年、慶應義塾大学院政策メディア研究科卒業。2008年に、Microsoftが主催するプログラミングコンテスト「Imagine Cup」で世界3位を獲得。その後、ICFP Contestの4度の優勝、TopCoder Openの2度の準優勝など、プログラミングコンテストにおいて多くの成績を残す。2012年に、

                【ちょくだい】競プロer採用のミスマッチが起こる理由と、開発者体験が高いチームのつくり方【Developer eXperience Day 2024 レポート】 | レバテックラボ(レバテックLAB)
              • 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

                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 2023/3/14にOpenAIがGPT-4という新しいAIモデルを公開しました。 このモデルはさまざまなタスクにおいてChatGPT(GPT-3.5)を大幅に上回る結果を示しています。 この記事ではGPT-4を用いて競技プログラミングがどのくらい解けるのかについて調べてみました。 下馬評 OpenAIが公開した論文によると、GPT-4のCodeforcesレーティングは392だそうです。 これはパーセンタイルでいうと下から5%らしいので、 そこまで競技プログラミングが得意なわけではないようです。 ただし、おそらくこれはGPT

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

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

                        『競技プログラミングの鉄則』書評
                      • 入社2年目の悩みー仕事と競プロの両立についてー - 競プロ始めました-kaede2020-

                        0.はじめに 1.仕事のこと 2.体力が続かない 3.離れてみてわかったこと 4.仕事で何を目指すのか 5.競プロで何を目指すのか 6.そしてまた日常が始まる 7.終わりに 8.おまけ(その後のこと) 0.はじめに 昨年の2023年2月1日にAtCoder株式会社に入社しました。おとぎ話にたとえるならば、「めでたしめでたし」と全てが円満に終わって、その後は読者の想像にまかせることになるのだと思います。しかし、それがスタートであるというのは、ある程度の人生経験があればきっとわかるのではないかと思います。 前だけを見て走り続けた1年でした。 1年経ってやっと少しだけ周りの景色を見る余裕ができました。このまま後14年、定年までこの速度で走り続けられるのだろうか。そう思ったとき、私の足は前へ進まなくなってしまいました。そして立ち止まった私は、この1年間、四六時中AtCoderのことを考えていたのを

                          入社2年目の悩みー仕事と競プロの両立についてー - 競プロ始めました-kaede2020-
                        • 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〜
                          • あのアルゴリズムはどこ? Pythonを使用してAtCoderの緑色や水色を目指す方に、30以上のアルゴリズムスニペットと100問以上の問題(ACコード付き)を紹介! - Qiita

                            0.はじめに 2020年の5月よりAtcoderのコンテストに参加してから一年経った、現在水色コーダーとなりました、H20と申します。 AtCoderではPythonを使用して参加しており、水色になるまでに様々なアルゴリズムを使用しました。 アルゴリズムについてはほとんど自作せず、有識者の作成されたスニペットを調べては、ある程度理解しながら使用していました。 この記事では、Pythonにてあるアルゴリズムを使用する際にお勧めな書き方の説明をしているスニペットの記事に、それを利用してACしたコードを添えて紹介していきたいと思います。 (ただ、私のACコードは極力見ないで自力で解いてください。綺麗とは言い難いので…) 1.目次 ※各アルゴリズムで紹介している問題は、感覚的な難易度順に並べています。基本的に後半は解けたら凄い!くらいの想いで載せてます。 解き方は多種多様であり、特に難易度の低い問

                              あのアルゴリズムはどこ? Pythonを使用してAtCoderの緑色や水色を目指す方に、30以上のアルゴリズムスニペットと100問以上の問題(ACコード付き)を紹介! - Qiita
                            • 自分も競プロ出身者(カス)の思い出を書く

                              ワイ、国内では結構大きいインターネットサービスを提供する会社にいる。 この数年、一部で競プロ出身者を持て囃す傾向があるが、それは全く幻想であることを伝えよう。 ワイの会社に来た競プロ出身者(2人いる)には、システムのパフォーマンスが出てない部分を高速化してもらったり、なんやかんやで複雑化してしまった箇所を改善してもらったりなどを期待していた。(やけに抽象的なのは特定を防ぐためで、実際はもっと我々の課題は明瞭である。) その競プロ出身者は、プログラミングの腕は一見一流だと思う。高学歴で学生時代から競プロに親しみ、何色が云々だとか、いくつかのコンテストで入賞したりしていた。パズル的な問題を解くには確かに強い人材だと思う。しかし、企業で使うにはあまりにカスすぎて、「企業に出張ってきて迷惑をかけるんじゃなく、部屋にこもって競プロやってろ」と思うに至った。 まず何よりも第一に、コードの品質があまりに

                                自分も競プロ出身者(カス)の思い出を書く
                              • 【第4回】競技プログラミングはITエンジニアをどう鍛えるか | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

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

                                • 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)
                                  • 「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
                                      • [ほぼ無] 無職競技プログラマの中途就職活動

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

                                        • 積の和典型 - Shirotsume の日記

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

                                            積の和典型 - Shirotsume の日記
                                          • 「競プロ典型 90問」Smallest Subsequence (最小部分列問題)

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

                                              「競プロ典型 90問」Smallest Subsequence (最小部分列問題)
                                            • デバッグ力を高める! ~5 年間の経験から学んだ、競プロ・アルゴリズム実装におけるバグ取りの戦略~ - Qiita

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

                                                デバッグ力を高める! ~5 年間の経験から学んだ、競プロ・アルゴリズム実装におけるバグ取りの戦略~ - 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
                                                  • 競プロで役立つC++20新機能 - Qiita

                                                    はじめに 競プロのコーディングが快適になるC++20新機能をまとめました!! C++20の豊富な新機能から競プロで便利な機能を合計で16個紹介します. ※(2023/8/7追記) AtCoderでは2023年の言語アップデートにより、ほとんどの機能が使用可能となりました。新バージョンのgcc12.2では、紹介されている機能のうち <format> を除くすべての機能が使用可能です。 参考文献 https://cpprefjp.github.io/lang/cpp20.html https://en.cppreference.com/w/cpp/20 を参考にしました. cpprefjp以外をあまり見ていないので,間違っているところがあるかもしれません. 誤りに気づいたら指摘していただけると幸いです. 標準ライブラリの新機能 1. コンテナのメンバ関数の追加 1-1. 連想配列に conta

                                                      競プロで役立つC++20新機能 - Qiita
                                                    • 機械学習初心者がKaggle Masterになって昇進した話 - Qiita

                                                      この記事はKDDI Engineer&Designer Advent Calendar 2022の16日目の記事です。 はじめに はじめまして、KDDI株式会社の@kazuki_yです。 KDDIではデータサイエンティストのエキスパートとして、お客様向けサービスのデータ分析支援やAI・データ利活用の全社方針策定などの業務を行っております。 コンペ経歴は約2年半でKaggle MasterとSIGNATE Masterの称号を持っています。 本記事では、機械学習初心者がKaggleにどう取り組んで、どのようにKaggle Masterになったのか、Kaggleに取り組んで良かった点を振り返っていきたいと思います。 世の中では度々Kaggleは役に立たない論が出てきますが、私としては昇進もして、賞金も獲得して、技術力も得て、更には自信もついたので超役に立つと思います!本記事が参加への一助になれ

                                                        機械学習初心者がKaggle Masterになって昇進した話 - Qiita
                                                      • Kyopro Encyclopedia of Algorithms (ア辞典)

                                                        これはステージング環境です。5 秒後に自動的に本番環境 (https://dic.kimiyuki.net) にリダイレクトされます。リダイレクトを抑止したい場合は #noredirect を付けた URL /#noredirect を利用してください。 これは競プロの知見を収集するための査読付きの半共有 wiki である。 アルゴリズムについての説明が中心となっている。なお、データ構造については scrapbox.io/data-structures (通称: デ wiki) を利用するのがよいだろう。 個人ブログの記事として情報を書くと属人性が高すぎ、古い記事のメンテのコストが高く、記事が不正確なまま残りやすいという問題があった。一方で誰でも自由に編集できる共有 wiki であると属人性が低すぎ、誰が書いたのかが分かりにくいため適切なクレジットが行なわれず、また記事の正確性も担保されな

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

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

                                                            atcoderで赤色の統合失調症の患者です
                                                          • GitHub - E869120/math-algorithm-book: 拙著『「アルゴリズム×数学」が基礎からしっかり身につく本』(2021/12/25 発売)の GitHub ページです。演習問題の解答や、C++ 以外のソースコードなどが掲載されています。ぜひご活用ください。

                                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                              GitHub - E869120/math-algorithm-book: 拙著『「アルゴリズム×数学」が基礎からしっかり身につく本』(2021/12/25 発売)の GitHub ページです。演習問題の解答や、C++ 以外のソースコードなどが掲載されています。ぜひご活用ください。
                                                            • 競プロ実装テクニック - よすぽの日記

                                                              これはなに 実装力で戦える! ~競プロにおける実装テクニック14選~ - Qiita に触発された 競技プログラミングでコーディングの際気を付けていること - うさぎ小屋 を強く参考にしている 効果が高い or 一般性がありそう なことから書いたつもり 重要なこと 「競プロのきれいなコードと業務のきれいなコードは違う」と定期的に唱える。未来の自分 or 他の人 が読む必要がないことを仮定できるため、様々なバッドノウハウ(業務)が正当化される。(あえて過激なことを書くと、)「using namespace stdを使わない」などは逆にバッドノウハウ(競プロ)だと思っている。 -fsanitize=undefined,address / -D_GLIBCXX_DEBUG #include <iostream> using namespace std; int main() { int a[10

                                                                競プロ実装テクニック - よすぽの日記
                                                              • 【JavaScript】AtCoder に登録したら次にやること ~これだけ解けば十分闘える!過去問精選 10 問~を解いた感想 - Qiita

                                                                はじめに インターンのコーディング面接をJavaScriptで受けることになったので、その対策としてAtCoder に登録したら次にやること ~これだけ解けば十分闘える!過去問精選 10 問~を解いてみました。あんまり解説を見ずに自力で解いたので、綺麗なアルゴリズムじゃないのでご了承ください!他に良い解法があったらぜひコメントお願いします! 【1問目】ABC086A - Product const main = input => { input = input.split(" "); a = parseInt(input[0], 10); b = parseInt(input[1], 10); if(a % 2 == 0 || b % 2 == 0){ console.log("Even"); } else{ console.log("Odd"); } } main(require('fs

                                                                  【JavaScript】AtCoder に登録したら次にやること ~これだけ解けば十分闘える!過去問精選 10 問~を解いた感想 - Qiita
                                                                • 「アルゴ式」をHaskellで学ぶための準備

                                                                  この記事は、CAMPHOR- Advent Calendar 2021 の7日目の記事です。 「アルゴ式」というプログラミングを学んで実践できる非常に良質なWebサービスがあります。 アルゴリズムについて解説された教科書だけでなく、実際にプログラミングを書いて提出してオンラインでジャッジしてくれるシステムを備えた練習問題も用意されているのが特徴です。さらにこのオンラインジャッジシステムは多くのプログラミング言語に対応しており、その中にはHaskellも含まれています。 今回はこのアルゴ式を読むにあたって練習問題をHaskellで解くために必要になりそうな知識についてまとめました。アルゴ式は現在ベータ版なので将来的な変更で変わってしまうものもあるかもしれませんが、2021年12月現在の練習問題を全てHaskellで解いた上で必要になったものをまとめているので参考にしていただけると幸いです。

                                                                    「アルゴ式」をHaskellで学ぶための準備
                                                                  • 本当は遅い「似非エラトステネスの篩」の罠

                                                                    この記事は? インターネット上でエラトステネスの篩の実装を検索すると、かなりの割合で、エラトステネスの篩とよんでいいのか怪しい「似非エラトステネスの篩」とでも称すべきものがみられます。 この記事では、「試し割り」「似非エラトステネスの篩」「エラトステネスの篩」の3つのアルゴリズムを比較して、その違いを解説します。 3つのアルゴリズムの比較 1. 試し割り 実装 まず他のアルゴリズムに対する評価基準として、試し割りのアルゴリズムを示します。 試し割りは、nが素数であるかを判定するために\sqrt{n}以下の全ての素数で割って確認するアルゴリズムです。 import sys # limit 以下の全ての素数を返す def list_primes(limit): primes = [] for i in range(2, limit + 1): is_prime = True for p in

                                                                      本当は遅い「似非エラトステネスの篩」の罠
                                                                    • GitHub - E869120/kyopro-tessoku: 拙著『競技プログラミングの鉄則』(2022/9/16 発売)の GitHub ページです。演習問題の解答や、C++ 以外のソースコードなどが掲載されています。ぜひご活用ください。

                                                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                        GitHub - E869120/kyopro-tessoku: 拙著『競技プログラミングの鉄則』(2022/9/16 発売)の GitHub ページです。演習問題の解答や、C++ 以外のソースコードなどが掲載されています。ぜひご活用ください。
                                                                      • AtCoder での実力アップを目指そう! ~競プロ典型 90 問~ - Qiita

                                                                        競プロにおける「上達の壁」 そこで私は、主に以下の 3 点が競技プログラミングにおける上達の壁になっているのではないかと考えています。 基礎的なコーディングの知識。for 文・条件分岐・配列などを使った基本的なプログラムが書けるかどうか。(レーティング 1~99 程度) 競プロで戦うために必要な、最低限のアルゴリズムや数学の知識。例えば二分探索・動的計画法・グラフ理論・逆元といったものが挙げられる。(レーティング 100~1199 程度) アルゴリズムや数学的知識 [2. で扱ったもの] をどうやって実際の問題に応用するか、考察面・実装面両方含めた典型テクニック。(レーティング 200~1999 程度) 今はどの壁が問題か? 現在、1. と 2. についてはかなり教材が整備されており、例えば 1. のプログラミングの基本を学ぶにあたっては、 C++入門 AtCoder Programmin

                                                                          AtCoder での実力アップを目指そう! ~競プロ典型 90 問~ - Qiita
                                                                        • AtCoderでCythonの力を開放する魔術詠唱 - 学習する天然ニューラルネット

                                                                          概要 以下のformatをPythonで提出すればいい mycode = r''' # distutils: language=c++ # cython: language_level=3, boundscheck=False, wraparound=False, cdivision=True {ここにcythonのコードを書く} ''' import sys import os if sys.argv[-1] == 'ONLINE_JUDGE': # コンパイル時 with open('mycode.pyx', 'w') as f: f.write(mycode) os.system('cythonize -i -3 -b mycode.pyx') import mycode 概要 AtCoderにおけるCython提出の弱点 解決方法 性能評価 Pythonの回答 Cythonの回答

                                                                            AtCoderでCythonの力を開放する魔術詠唱 - 学習する天然ニューラルネット
                                                                          • 【連載】Let’s 競技プログラミング! E8さんが教える アルゴリズム発想のキホン

                                                                            競技プログラミング大会・AtCoderのレッドコーダーであるE8さんが、アルゴリズム発想のキホンをレクチャーします。

                                                                              【連載】Let’s 競技プログラミング! E8さんが教える アルゴリズム発想のキホン
                                                                            • Rustで競技プログラミングの入出力を自動的にやるマクロ - Qiita

                                                                              Rustで競技プログラミングの入力をスッキリ記述するマクロ の続編的なやつです。 モチベーション AtCoderのRust環境も新しくなって、バージョンが新しくなったり一部の外部のcrateが使えるようになったり、ずいぶんいろいろできるようになりました。前回の記事では、コピペして使えるようなコンパクトで効果的なものを目指していましたが、そういう制約がない状況でならもっといろいろできるのではないかと考えていました。 もうちょっとだけ便利にできそうな気がしたので、とりあえずアイデアを形にしてみるかという感じで書いてみました。 アイデア 一般的に、人は標準入出力とやり取りをするのは苦手だけれども、関数の引数と返り値を扱うのは呼吸をするように容易に行えるものです。そして一般的に、競技プログラミングのタスクというのは入力が与えられて答えを出力するという自然に関数として表現できるものです。実際にTop

                                                                                Rustで競技プログラミングの入出力を自動的にやるマクロ - Qiita
                                                                              • 競技プログラミングの問題を自動で解きたい - うさぎ小屋

                                                                                TL;DR 問い「競技プログラミングの問題は自動で解けるか?」 答え「ある程度は自動で解けるだろう。ただし問題の形式化を人間に任せる必要はある」 問い’「競技プログラミングの問題を自動で解くソルバは、具体的にはどのような形になるか?」 答え’「少なくとも初期のソルバは、最適化付きのトランスパイラと呼ばれるものになるだろう」 このような議論に従い、競技プログラミングの問題の実用的なソルバとして、Python から C++ への最適化付きトランスパイラを開発している。 目次 TL;DR 目次 競技プログラミングの問題を解くとはどういうことか 競技プログラミングのソルバは形式化を人間に任せることになるだろう 競技プログラミングの問題を自動で解くことは不可能ではない 具体例 1 具体例 2 競技プログラミングのソルバは (初めは) トランスパイラの形がよいだろう 競技プログラミングのソルバは (近

                                                                                • GitHub - recuraki/cphb-ja: (JA)Competitive Programmer's Handbook

                                                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                    GitHub - recuraki/cphb-ja: (JA)Competitive Programmer's Handbook