並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 182件

新着順 人気順

競技プログラミングの検索結果1 - 40 件 / 182件

競技プログラミングに関するエントリは182件あります。 プログラミングprogrammingアルゴリズム などが関連タグです。 人気エントリには 『優秀さについて, 川口耕介のブログ』などがあります。
  • 優秀さについて, 川口耕介のブログ

    同僚からこれについてどう思うか、と聞かれた。元の文章が長く、様々なところについて色々思う所があるが、今日は一つに絞って書くことにする。 パズル解決能力 頭の良さの一つに、パズル解決能力がある。ある程度の複雑さを持った系があって、その中で問題が設定され、それを解く、という種類の知的作業だ。簡単なものではマインスイーパーとか、もうちょっと複雑になると物理や数学の大学入試問題。エンジニア採用で使うプログラミング試験も同じようなものだ。将棋やチェスも、この軸のもっと難しいところに位置しているだろう。 ある程度の時間を掛けて知識や系の構造を学ぶと、パズルの解決は簡単で些細な事になる。どの位の複雑さをもった系で解決が些細に感じられるかは、人によってそれぞれだ。三目並べやマインスイーパーが作業だと思える位のパズル解決能力がある人は結構いるが、例えば東大の数学や物理の入学試験がタダの作業に思えるような人は

      優秀さについて, 川口耕介のブログ
    • Twitter で医師を拾ってきて Google のソフトウェアエンジニアにするだけの簡単なお仕事 - 白のカピバラの逆極限 S.144-3

      はじめに 「【転職エントリ】Googleに入社します|Lillian|note」という、医師から未経験で Google のソフトウェアエンジニアになった記事があります。 note.com 私は、この記事に出てくる「とある元 Google のソフトウェアエンジニア」で、面接の対策を立てました。 記事が出た当初から大反響で、私もそれなりの反応を見まして、いろいろと誤解されているなあ、と思う一方、アドバイザーはあくまでもアドバイザーだから、アドバイザーとして知りえた情報については、口をつぐむべきだと思っていました。 ただ、あまりにも誤解されており、悪影響が大きく、犠牲者も多くなってきたと思ったので、許可を得て簡単に背景を書いておこうかと思います。 これはあくまでもアドバイザー側からどう見えていたかを書いておくものですが、医学部卒だけでも3,4人 Google や Amazon に入っていったおぼ

        Twitter で医師を拾ってきて Google のソフトウェアエンジニアにするだけの簡単なお仕事 - 白のカピバラの逆極限 S.144-3
      • Python言語による実務で使える100+の最適化問題 | opt100

        指針 厳密解法に対しては、解ける問題例の規模の指針を与える。数理最適化ソルバーを使う場合には、Gurobi かmypulpを用い、それぞれの限界を調べる。動的最適化の場合には、メモリの限界について調べる。 近似解法に対しては、近似誤差の指針を与える。 複数の定式化を示し、どの定式化が実務的に良いかの指針を示す。 出来るだけベンチマーク問題例を用いる。OR-Libraryなどから問題例をダウンロードし、ディレクトリごとに保管しておく。 解説ビデオもYoutubeで公開する. 主要な問題に対してはアプリを作ってデモをする. 以下,デモビデオ: 注意 基本的には,コードも公開するが, github自体はプライベート そのうち本にするかもしれない(予約はしているが, 保証はない). プロジェクトに参加したい人は,以下の技量が必要(github, nbdev, poetry, gurobi); ペー

        • アルゴリズムビジュアル大事典

          このサポートページでは、マイナビ出版発行の書籍「アルゴリズムビジュアル大事典」にて作成しましたシンボル、アニメーション、疑似コードを掲載いたします。また、内容のアップデートを行ってまいります。詳しい解説は、本書をご参考にしてください。 アニメーションコントローラの使い方はクイックマニュアルでご確認頂けます。 補足情報が表示されているトピックにつきましては、ご注意ください。その他の訂正等は正誤表をご覧ください。ご質問、不具合等のご報告は、ご遠慮なくy.watanobe@gmail.com(渡部)までお送りください。

          • 競技プログラミングで解法を思いつくための典型的な考え方 | アルゴリズムロジック

            競技プログラミングの問題を解くためには2つのステップがあります。 問題で要求されていることを言い換える知っているアルゴリズムやデータ構造を組み合わせて解く 必要な(知っておくべき)アルゴリズムやデータ構造は色々なところで学ぶことができます。 しかし、「問題の言い換え」や「アルゴリズムを思いつく」というのは、非常に様々なバリエーションがあり、問題をたくさん解かないとなかなか身につきません。 そこで、この記事は以下のことを言語化し、練習のための例題を提示することを目標とします。 問われていることを、計算しやすい同値なことに置き換える方法アルゴリズムを思いつくための考え方競技プログラミングで「典型的」と思われる考え方 ※一部問題のネタバレを含むので注意 ※良く用いられるアルゴリズムやデータ構造については競技プログラミングでの典型アルゴリズムとデータ構造 を参考にして下さい。 入力の大きさ(制約)

              競技プログラミングで解法を思いつくための典型的な考え方 | アルゴリズムロジック
            • はじめに - アルゴリズムとデータ構造大全

              はじめに このドキュメントは,主に競技プログラミングで出題される問題を解く際に利用できるアルゴリズムやデータ構造をまとめたものです.特定の問題にはあまりフォーカスしないため,問題を解く際の考察の仕方等の内容はありません.詳しく,正確に,分かりやすく書いていこうと思っています. このドキュメントは執筆途中です. 想定する読者 C++を用いたプログラミングに慣れている方を読者として想定しており,C++言語の仕様や,文法にはあまり触れません.また,計算量という用語についても説明しません.ただし,償却計算量など,計算量の見積もりが複雑なものについては必要に応じて説明します. コードについて このドキュメントで登場するコードは,可読性向上のため,以下のようなコードがファイルの先頭に記述してあることを前提としています.また,適切な問題を用いてコードの検証がなされている場合は,コード周辺にのように,検証

              • Python言語による実務で使える100+の最適化問題 | opt100

                はじめに 本書は,筆者が長年書き溜めた様々な実務的な最適化問題についてまとめたものである. 本書は,Jupyter Laboで記述されたものを自動的に変換したものであり,以下のサポートページで公開している. コードも一部公開しているが,ソースコードを保管した Github 自体はプライベートである. 本を購入した人は,サポートページで公開していないプログラムを 圧縮ファイル でダウンロードすることができる. ダウンロードしたファイルの解凍パスワードは<本に記述>である. 作者のページ My HP 本書のサポートページ Support Page 出版社のページ Pythonによる実務で役立つ最適化問題100+ (1) ―グラフ理論と組合せ最適化への招待― Pythonによる実務で役立つ最適化問題100+ (2) ―割当・施設配置・在庫最適化・巡回セールスマン― Pythonによる実務で役立つ

                • できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記

                  計算量についてのお話です。対象は、プログラミング経験はあるが計算量のことを知らない初心者から、計算量のことを知っているつもりになっている中級者くらいです。 数式を見たくない人にとっては読むのが大変かもですが、深呼吸しつつ落ちついて読んでくれるとうれしいです。 それから、この記事が自分には合わないな〜と思ったときは、(別の記事を Qiita とかで検索するよりも)この記事の一番下の 参考文献 にある本を読むことをおすすめします。Amazon の試し読みで無料で読めます*1。 TL; DR 関数の増加度合いのことをオーダーと呼ぶよ 計算量は、入力サイズ(など)を受け取ってアルゴリズムの計算回数(など)を返す関数だよ その関数のオーダーについての議論がよく行われるよ オーダーを上から抑えるときは \(O\)、下から抑えるときは \(\Omega\) を使うよ オーダーを上下両方から抑えたいときは

                    できるだけ嘘を書かずに計算量やオーダーの説明をしようとした記事 - えびちゃんの日記
                  • 【AtCoder】中卒の主婦が青コーダーになったおはなし【競技プログラミング】 - Qiita

                    はじめまして。mayocornです。 先日のABC281で青コーダーになりました! 経歴 20代の主婦。旦那は競プロやってないです。 中学卒業→高校入学→高校中退→バイトを転々とする(ITに関してはSESで半年ほど働いた経験あり)→今の住所に引越してきてからは無職 趣味はゲームで、最近やっているタイトルはファイアーエムブレムエンゲージ、Splatoon3です。音ゲーやカードゲームに熱中してた時期もありました。CHUNITHMは旧レートでベスト枠15.3くらい。でものめりこむほどお金がかかるのでやめました。競技プログラミングは何問解いても無料なので続けられてます。 学力に関して話すと、高校数学は確率、論理と集合がちょっとわかるくらいで三角関数、微分積分、行列あたりは全然分かりません。青パフォーマンスをとるのにこのへんの知識が必要になったことはなかった気がします。(私が参加した回の中では) 競

                      【AtCoder】中卒の主婦が青コーダーになったおはなし【競技プログラミング】 - Qiita
                    • 算数の教養がほとんどないプログラマが1年間AtCoderをやった結果の振り返り|きりみんちゃんノート

                      こんばんみんみん。 バーチャル幼女プログラマーという肩書でインターネットをやっているきりみんちゃんというものです。 去年の7月に競技プログラミングのAtCoderを始めてだいたい1年くらい経ったので、勉強したこととかを振り返りたいと思います。 で、誰?YouTubeでAtCoderの過去問を解く配信をしたり、Twitterで無限にAtCoderについてつぶやいたりしているVTuberです。 普段の仕事での専門分野はAndroidアプリ開発です。 半年くらい前にAtCoderを普通の社会人エンジニアに布教するエントリを書きました。 また、技術書典で「AtCoderの歩き方 -数学が得意じゃないエンジニアにこそ競技プログラミングを布教したい!-」という本を出したりもしました。 現在のAtCoderコミュニティの中心層は理系の学生やもともと数学がかなり好きなタイプの人たちです。 一方きりみんちゃ

                        算数の教養がほとんどないプログラマが1年間AtCoderをやった結果の振り返り|きりみんちゃんノート
                      • アルゴリズムと数学の本を書きました - E869120's Blog

                        1. はじめに こんにちは、はじめまして。東京大学 1 年生の米田優峻(E869120)と申します。私は競技プログラミングが趣味で、AtCoder や国際情報オリンピックなどの大会に出場しています1。2021 年 11 月時点で、AtCoder では赤色(レッドコーダー)です。また、2020 年以降、アルゴリズムを学べる以下のようなコンテンツや資料を作成してきました。 レッドコーダーが教える、競プロ上達ガイドライン 競プロ典型 90 問 50 分で学ぶアルゴリズム さて、このたびは技術評論社から、書籍を出版させていただくことになりました2。アルゴリズムと数学が同時に学べる新しい入門書です。 「アルゴリズム×数学」が基礎からしっかり身につく本 - amazon 発売日は今年のクリスマス、2021/12/25 です。電子書籍版も同時期に出る予定です。本記事では、この本の内容と想定読者について、

                          アルゴリズムと数学の本を書きました - E869120's Blog
                        • 競技プログラミングの在り方 ~「競技プログラミングを我々が終わらせる」を受けて~ - chokudaiのブログ

                          nuc.hatenadiary.org 競技プログラミングについての言及があったのですが、バズってる+競技プログラミングについて、納得がいかない記述がかなり多く見受けられたので、反論記事を書きました。 自己紹介 競技プログラミングの日本最大企業「AtCoder」の社長を9年間続けています。競技プログラマとして、2010年から毎年1つは世界大会で入賞しています。 完全に競技プログラミング支持側の意見なので、ポジショントークを出来るだけ排除しようと心がけているものの、完全に排除することは多分出来ていないため、多数の意見と比較してもらえると幸いです。 競技プログラミングとGoogle まずは肯定的な所から。 Googleに入るためには、競技プログラミングではなく、Googleに入るための勉強をするべき、という点に関しては、間違いなく正しいです。特にAtCoderの競技プログラミングは、常日頃から

                            競技プログラミングの在り方 ~「競技プログラミングを我々が終わらせる」を受けて~ - chokudaiのブログ
                          • ヤマト運輸プログラミングコンテストに関して - chokudaiのブログ

                            AtCoder代表取締役社長のchokudaiです。ちょっと説明が届いてない+誤解も含まれている、と思う点があるので、Twitter発信だけでなくblogでも発信しておきます。 要約すると、 著作権周りはAtCoderの対策不足。ヤマト運輸さんは悪くない 賞金額は海外と比べても相場通り。 やりがい搾取云々はどうなんだろう? みたいな内容です。 今回の話の前提について ヤマト運輸プログラミングコンテスト2019が、先日発表になりました。 atcoder.jp 公開当初は「ヤマト運輸すごい!」みたいな意見が多かったんですが、主にはてなブックマークや、競プロ界隈外のTwitterから、 著作権譲渡は良くないのではないか? コンテストの形をした、実質外注のやりがい搾取ではないのか? と言った意見がそれなりに出てきている状態です。それについてコメントしていきたいと思います。 著作権の扱いは要議論、責

                              ヤマト運輸プログラミングコンテストに関して - chokudaiのブログ
                            • 現役高校生が、AtCoderでレッドコーダーになるまでにやってきたこと。プログラミング上達の秘訣を全て教えます - Findy Engineer Lab

                              こんにちは、はじめまして。筑波大学附属駒場高等学校 3 年生(今年 4 月から東京大学に入学予定)の米田優峻(@e869120)と申します。私は競技プログラミング(競プロ)が趣味で、AtCoder・情報オリンピック・パソコン甲子園などの大会に出場しています。2021 年 3 月時点で、AtCoder では赤色(レッドコーダー)です。また、国際情報オリンピックの 2018 年/2019 年/2020 年大会で金メダルを獲得しています。*1 とはいえ、決して簡単にこの記録を手に入れられたわけではありません。何度も挫折と失敗を経験しながら自分のスキルを磨いた結果、競プロを始めてから 3 年後にはレッドコーダーになることができたのです。 今回は「わたしの選択」というテーマで寄稿の機会を頂いたので、私が中学 1 年生の秋に競技プログラミングを始めてからレッドコーダーになるまで、そして国際情報オリンピ

                                現役高校生が、AtCoderでレッドコーダーになるまでにやってきたこと。プログラミング上達の秘訣を全て教えます - Findy Engineer Lab
                              • アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 - Qiita

                                こんにちは、大学 1 年生になったばかりの E869120 です。 私は競技プログラミングが趣味で、AtCoder や日本情報オリンピックなどに出場しています。ちなみに、2021 年 4 月 7 日現在、AtCoder では赤(レッドコーダー)です。 本記事では、アルゴリズムの学習や競技プログラミングで使える数学的な部分を総整理し、それらについて解説したいと思います。前編・中編では数学的知識、後編(2021/4/26 公開予定)では数学的考察の側面から書いていきます。 【シリーズ】 アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 ← 本記事 アルゴリズム・AtCoder のための数学【中編:数学的知識編②】 アルゴリズム・AtCoder のための数学【後編:数学的考察編】 1. はじめに 21 世紀も中盤に入り、情報化社会(いわゆる「IT 化」)が急激に進行していく中、

                                  アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 - Qiita
                                • 中年プログラマの競プロ事始 - hydrakecat’s blog

                                  これはなに 自分がここ2年ほど趣味として競技プログラミングをやった経緯と感想です。いわゆるプログラマの定年と呼ばれる35歳を過ぎてから始めたのですが、思ったよりも楽しめました。自分のようなシニアと呼ばれるプログラマが競プロに興味を持ってくれたらいいなと思って書きました。 競技プログラミング(競プロ)とは 競技プログラミング(以後、競プロ)は、プログラミングをして順位を競うコンテストです。コンテストはたいていオンラインで毎週のように開かれており、誰でも参加できます。形式としては、与えられた時間内にいくつかの問題を解くコードを提出して、その正解数と提出までにかかった時間を競うというものです。たいていは、コードの実行時間および使用メモリに制限があり、その制限内で実行できるコードを書く必要があります。またコードが正解かどうかは出題者が用意したテストケースをパスするかどうかで判定されます。 多くのコ

                                    中年プログラマの競プロ事始 - hydrakecat’s blog
                                  • 競技プログラミングで使う有名グラフアルゴリズムまとめ

                                    0. はじめに AtCoderなどでは、グラフを扱った問題が多く出るが、その度に一から実装していると時間が掛かりすぎてしまうため、有名なものをあらかじめ持っておく必要がありそう。そこで、Pythonを用いて、ダイクストラ法、ベルマンフォード法、プリム法、クラスカル法、ワーシャルフロイド法を実装した。 コメント、意見等ある方は是非! お待ちしてます! 1. ダイクストラ法 1.1. ダイクストラ法(defaultdictで実装) defaultdictで実装すると、リストで実装するよりも、ノード数$N$が大きい際には高速に動作する。ただし、経路復元の関数は、うまく書けなかった......。 (2019/7/6 追記)結局できました。1.1.1. を参照してください。 import collections import heapq class Dijkstra: def __init__(se

                                      競技プログラミングで使う有名グラフアルゴリズムまとめ
                                    • 数学得意じゃない系の社会人エンジニアに競プロとAtCoderを全力で布教したい。あるいは競プロのよくある誤解と楽しむコツ - Qiita

                                      Help us understand the problem. What is going on with this article? このエントリはCompetitive Programming (1) Advent Calendar 2019 4日目のエントリで、バーチャル幼女プログラマーきりみんちゃんが書いています。 きりみんちゃんはVTuberとしてAtCoderの過去問を解く配信をしたりしています。 競プロ、しっていますか? さて、みなさんは競技プログラミング/プログラミングコンテストというものをご存知でしょうか。 かなり昔から行われているものではあるので、存在は知っているという方が多いかもしれません。 競技プログラミングをざっくり説明すると、期待される入力と出力が定義された問題が出題され、それをコーディングによって解き用意された自動テストを通すまでの速度などを競うコンテストです

                                        数学得意じゃない系の社会人エンジニアに競プロとAtCoderを全力で布教したい。あるいは競プロのよくある誤解と楽しむコツ - Qiita
                                      • 40代で競プロができるのかという話 - 競プロ始めました-kaede2020-

                                        0.はじめに 1.簡単な自己紹介 2.年をとるにつれて衰える能力 3.低下した記憶力で競プロに取り組む 4.AtCoderのレベル感 5.競プロ上達への道のり 6.競プロとの向き合い方 7.競プロの依存性 8.競プロのコミュニティ 7.これから 8.終わりに 9.<番外編>もし後悔があるとすれば 0.はじめに こんにちは。競技プログラミング歴一年半のかえでです。 私はAtCoder Problems でLongest Streak にチャレンジしています。Longest Streakは、これまで解いたことのない問題から一日一問以上解いた連続日数を競うものです。今日、この記録が500日に到達しました。私は解説ACもするので、純粋に自分の力で解いた問題ばかりではありません。それでも、こつこつと続けてきた自分を、ほめてもよいのではないかという気持ちになりました。 ここまで長く続けられたのは、At

                                          40代で競プロができるのかという話 - 競プロ始めました-kaede2020-
                                        • [2023年1月版]競技プログラミングを始めたばかりの人にオススメの問題集 - Qiita

                                          「競技プログラミングを始めたばかりの人にオススメの問題集は何?」というのが普段よく見ている Slack で話題に登っていたので、私の考えをまとめました。 おことわり 私は競技プログラミングを本格的に始めてからもうすぐ5年の水色コーダーです。めっちゃくちゃに強いわけではないですが、基礎的なところはある程度習得している、という感じです。 この記事は、そのような実力の私が、あくまでも独自の評価軸で勝手に評価したものなので異論はあると思います。また、各種学習法/問題集について私自身が全て完走しているわけではありません。 これらをご理解いただいたうえで、以下をご覧ください。 最推し: アルゴ式 2023年1月現在、初心者向けの最初の問題集としてお勧めしたいのは アルゴ式 です。アルゴ式の特徴として次のようなものがあると思っていて、それが初心者が練習するうえで適した特徴だと考えるからです ジャンルごと

                                            [2023年1月版]競技プログラミングを始めたばかりの人にオススメの問題集 - Qiita
                                          • IT未経験からMLエンジニアになるまでの2年半でやったこと - MLaaSS - Machine Learning as a Self-Satisfaction

                                            はじめに 自身の転職活動にあたり皆さんの転職エントリが非常に参考になったので、私も同じ境遇の方の参考になればと思い、書き残すことにしました。(ただ、本当に私と似た境遇の方にはなかなかリーチしづらい気がしていますが・・・) TLDR; 30歳でIT未経験からMLエンジニアに転職 約2年半独学で勉強(ほとんどkaggleしてただけ) 無関係に思えた現職での経験もなんだかんだ転職で役に立った 目次 自己紹介 現職について 転職の理由 勉強したこと 転職活動 終わりに 1.自己紹介 かまろという名前でTwitterなりkaggleなりをやっています。kaggleでは画像やNLPといったdeep learning系のコンペを中心に取り組んでおり、2019年の9月に金メダルを獲得しMasterになることができました。 恐らくここが他の転職エントリを書かれている方々と大きく異なる点かと思うのですが、現職

                                              IT未経験からMLエンジニアになるまでの2年半でやったこと - MLaaSS - Machine Learning as a Self-Satisfaction
                                            • 【AtCoder】普通の人である私が緑になるまでにしたこと - Qiita

                                              こんにちは、Kotaです。 ご閲覧いただきありがとうございます! 昨日開催されましたAtCoder Beginner Contest 176でレーティングが緑になりました! ついに!入緑しました!!! ここまで長かったのでめちゃくちゃ嬉しい😄 kota0501さんのAtCoder Beginner Contest 176での成績:1754位 パフォーマンス:1241相当 レーティング:754→815 (+61) :) Highestを更新し、6 級になりました!#AtCoder #ABC176 https://t.co/ONTPDcUzzV pic.twitter.com/jQKX7gwBsa — Kota (@kota0501_orca) August 22, 2020 要約 競プロ開始してから7ヶ月弱で緑になったよ! この界隈は人外な人が多いよ!(人外についての説明は記事内で!) だ

                                                【AtCoder】普通の人である私が緑になるまでにしたこと - Qiita
                                              • 【緑色変】算数の教養がほとんどなかったプログラマがAtCoderを4年やって緑になれた話|きりみんちゃんノート

                                                こんばんみんみん。 バーチャル幼女プログラマーという肩書でインターネットをやっているきりみんちゃんというものです。 競技プログラミングのAtCoderというサービスに日々取り組んでいるんですが、この度めでたく緑レートになることが出来ました。 いわゆる色変エントリというやつです。 で、誰?3年前にこんなエントリを書いた者です。 VTuberをやったり絵を描いたりしてる社会人エンジニアです。 専門分野はAndroidでしたが、最近はフルスタックエンジニアを目指してフロントエンドやバックエンドなどをやっています。 現在のAtCoderコミュニティの中心層は理系の学生やもともと数学がかなり好きなタイプの人たちです。 一方きりみんちゃんはプログラマでありながら数学にコンプレックスがあり、それどころか小学2年までしか義務教育を受けていないため、中学、高校レベルの基礎的な数学の教養が全くありませんでした

                                                  【緑色変】算数の教養がほとんどなかったプログラマがAtCoderを4年やって緑になれた話|きりみんちゃんノート
                                                • 書籍「競技プログラミングの鉄則」を書きました - E869120's Blog

                                                  1. はじめに こんにちは、東京大学 2 年生の米田優峻(E869120)と申します。私は競技プログラミングが趣味で、AtCoder や国際情報オリンピックなどに出場しています1。また、2021 年 12 月には、初の著書となる『「アルゴリズム×数学」が基礎からしっかり身につく本』を出版しました(2 万部突破)。 さて、このたびはマイナビ出版から、2 冊目の本を出版させていただくことになりました。競技プログラミングで必要となる「アルゴリズム」や「思考テクニック」を学ぶことができる、全く新しい教科書です。 競技プログラミングの鉄則 - honto 発売日は 2022/9/16 です。電子書籍版も同じ日(9 月 16 日)に出る予定です。この記事では、本書の内容と想定読者について説明させていただきます。 2. 本書の構成 本書は、競技プログラミングの全く新しい教科書です。序章「競技プログラミン

                                                    書籍「競技プログラミングの鉄則」を書きました - E869120's Blog
                                                  • アルゴリズムと数学的思考力 - 怠惰を求めて勤勉に行き着く

                                                    厳しい。年始早々厳しさを感じている。自分のプログラミング力にだ。伸び悩んでいる。 端的に言って、数学力のなさが自分のプログラミング能力に制限をかけている。例えばこの問題。 560. Subarray Sum Equals K 入力として与えられる配列 nums のうち、合計が k となる部分配列の個数を数え上げよ。どうも有名な問題らしいが… まず大前提として、部分配列なので i, j の2重ループで始点・終点を定めて sum(nums[i, j]) = k になるものを数え上げれば必ず答えが得られる。最悪計算量は O(N^3) ただし i < nums.length < 20000 という制約があるので N^3 では遅すぎるから何か考えてくださいというのがスタート地点。 ここで、結果の変わらない累積和を何度も求めているので nums[i, j] = k を求めたい場合、 nums[0, j

                                                      アルゴリズムと数学的思考力 - 怠惰を求めて勤勉に行き着く
                                                    • 35歳で競プロを始めて橙になるまでにやったこと - Kiri8128の日記

                                                      35歳から Python で競プロを始めて2年が経ちましたが、やっと AtCoder で橙になることができました! ふぁぼ、コメントもたくさん頂きありがとうございました。 競プロを始めて2年、なんとか橙になることができました。 pic.twitter.com/r0GwrNogHi — きり (@kiri8128) October 31, 2020 RTA 途中経過 最初のRatedから青まで:3か月(Rated 7回) 青から黄色まで:7か月(Rated 17回) 黄色から橙まで:1年3か月(Rated 24回) ----- 橙はだいぶ遠い存在という印象だったので、達成できて嬉しいです。 まだまだ上を目指していきたいと思いますが、ひとまずの区切りとしてこれまでにやったことなどを書いておきます。 スペック 某京都大学というところで9年ほど *1 数学(代数学・代数幾何学)などをやっていた *

                                                        35歳で競プロを始めて橙になるまでにやったこと - Kiri8128の日記
                                                      • AtCoder高橋社長がLINEのコーディング試験を見て驚いた理由―。「競プロとこんなに違うとは……」

                                                        ITエンジニア志望者にとって、時に「避けては通れない道」となるコーディング選考。実際に人気企業では、どのような試験や採点が行われるのだろうか。今回はLINE株式会社の協力の下、外資就活ドットコムの会員が参加(*1)する模擬コーディング試験を開催。LINEが実際の選考で出すような問題を、参加者に解いてもらった。 その解答内容を題材に、LINEの新卒採用でコーディング試験を担当する大澤和宏さんと、特別ゲストのAtCoder高橋直大社長の対談を実施。2人の言葉から、「良い解答」「そうでない解答」の差、そしてコーディング選考と競技プログラミングの違いなどが見えてくる。【藤崎竜介】 *1 AtCoderで中級者とされる茶色もしくは緑色レベル、かつ2024年卒業予定の学生を対象に参加者を募集(AtCoderのランクについては、公式ページで詳細を確認できる) 〈Profile〉 写真左/高橋直大(たかは

                                                          AtCoder高橋社長がLINEのコーディング試験を見て驚いた理由―。「競プロとこんなに違うとは……」
                                                        • RustCoder ―― AtCoder と Rust で始める競技プログラミング入門

                                                          AtCoder のジャッジシステムを利用しながらプログラミング言語 Rust について解説します.C++ や python のような他の言語に触れたことのないプログラミング初心者でも読めるよう努めています.更新履歴は github ( https://github.com/fiveseven-lambda/zenn/commits/main/books/rust-atcoder ) から見られます.内容に関するご意見やご指摘などは,プルリクエストか twitter ( https://twitter.com/57tggx ) で遠慮なくお願いします.カバー画像: GRAPHY 筧様

                                                            RustCoder ―― AtCoder と Rust で始める競技プログラミング入門
                                                          • LeetCode 150問を解いて起きた意外な変化

                                                            はじめに 年末に Twitter でこのツイートを見かけました。 もともとアルゴリズムの勉強に興味があり、一年ほど前に数ヶ月だけ AtCoder をやっていましたが、途中で挫折してしまった自分にとって、NeetCodeの勉強ロードマップは非常に魅力的に感じました。(転職意欲があったわけではないです) NeetCode のロードマップ そこで、このロードマップに従って LeetCode の問題を 150 問解くことを決意し、結果的におよそ1ヶ月半で全ての問題を解き切ることができました。 この過程で、様々なことを学ぶことができました。中には自分が予想していなかった学びも多くありましたので、同じくアルゴリズムに興味のあるエンジニアの方に役立てていただけるよう、記録として残しておきます。 ハードスキル 📗 データ構造への理解 頻出するデータ構造について、それぞれの長所/短所を理解し、主要な処理の

                                                              LeetCode 150問を解いて起きた意外な変化
                                                            • 競技プログラミングに関係する数学の整理 ~文系出身や数学苦手erが、もっと競プロを楽しむために~ - テルの競プロメモ

                                                              まえがき この記事の目的 意図する対象読者 今回の整理の仕方(記事の見方) 注意 競プロに関係する数学(本題) 言葉(文系でも多分聞いたことはある)編 言葉(文系だと聞いたことないかも)編 言葉(離散数学)編 「式変形」編 「図形っぽいやつ」編 筆者のバックグラウンド 経歴、仕事など まえがき この記事では、競技プログラミングに関係する数学用語・概念と、それがどんな単元(分野)に属するものかを整理(一覧化)します。 競技プログラミングの問題に出てくる用語・概念をはじめ、競技プログラミングの解説記事などに出てくる用語・概念も、思いつく限り挙げています。 「この記事の数学的な部分、どのぐらい信用できるの?」とか、「数学苦手と言ってもどのくらい苦手なの?」といった疑問への参考としては、筆者のバックグラウンドを記事の最後で紹介したので、気になる方は先にそちらを読んでください。 この記事の目的 文系

                                                                競技プログラミングに関係する数学の整理 ~文系出身や数学苦手erが、もっと競プロを楽しむために~ - テルの競プロメモ
                                                              • 最短経路問題総特集!!!~BFSから拡張ダイクストラまで~ - Qiita

                                                                基本的アルゴリズム(幅優先探索など)から応用(経路復元、拡張ダイクストラなど)まで、最短経路問題に関するアルゴリズムを総特集しました。 基本的なグラフ理論の用語については、次を参考にしてください。 グラフ理論 用語集 queueなどのデータ構造の用語については、次のスライドの後半を参考にしてください。 C++ STL講習会 by @e869120 最短経路問題とは 一般的に、次のような問題とされます。 $V$ 頂点と $E$ 辺からなるグラフが与えられる。頂点 $u$ と 頂点 $v$ を結ぶパスのうち、重みの総和が最も小さいものはどれか。 始点を固定して他のすべての頂点との対について最短経路問題を解く場合や、任意の2頂点の対について解く場合などが実際には多いです。 実社会とも強く密着した問題のため、古くからたくさん効率的な解法が考えられてきました。 今回はそれらを紹介しつつ、細かいテクニ

                                                                  最短経路問題総特集!!!~BFSから拡張ダイクストラまで~ - Qiita
                                                                • 競技プログラミングことはじめ

                                                                  第1章 競技プログラミングとは?(p.7~) 第2章 AtCoderの始め方(p.43~) 第3章 競プロで必要な「アルゴリズムと思考力」(p.86~) スライドのまとめ(p.154~)

                                                                    競技プログラミングことはじめ
                                                                  • AtCoderの社長のままトヨタ自動車にアルゴリズムグループを作った話 - chokudaiのブログ

                                                                    2022年1月より、トヨタ自動車 デジタル変革推進室 に主査(担当部長)としてジョインし、6月より、アルゴリズムグループを新設しました。 (22/08/09 11:40追記) アルゴリズムグループについての情報は以下のページにあります!!! (追記おわり) atcoder.jp 「なんで急にそんなことやってるの?」、「AtCoderの業務に集中しろよ!って思う人もちょこちょこいると思うので、そのあたりの考えを、AtCoder社長としての立場で書きたいと思います。 AtCoder・chokudaiを知らない人のための情報 ここは知ってる人は飛ばしてください。 AtCoder 2012年から提供されている、プログラミングコンテスト(競技プログラミング)のサービスです。年間70回程度のコンテストをオンラインで開催しており、世界中から40万人のユーザが登録・参加しています。 chokudai At

                                                                      AtCoderの社長のままトヨタ自動車にアルゴリズムグループを作った話 - chokudaiのブログ
                                                                    • 「競技プログラミングの鉄則」のレビュー - じじいのプログラミング

                                                                      米田 優峻さん(E869120@ICPC2022 (@e869120) / Twitter)の著書「競技プログラミングの鉄則 ~アルゴリズム力と思考力を高める77の技術~」をご恵贈いただきました。その感想です。 競技プログラミングの鉄則 (Compass Booksシリーズ) 作者:米田 優峻マイナビ出版Amazon 素晴らしい内容で競技プログラミング初心者への最初の1冊として最もお勧めできる本です。特に、数学も得意というわけではなくプログラミング自体も初めてという方には、ダントツで一番お勧めできる本です。 本書の良い点 1.図が分かりやすい。 最初の48ページが無料公開されているので、百聞は一見にしかずということで見ていただけると良いと思います。i www.dropbox.com 図自体分かりやすいですし全編カラーで書かれているのも良いです。段階的に説明すべきものについて無理に1枚に納め

                                                                        「競技プログラミングの鉄則」のレビュー - じじいのプログラミング
                                                                      • ちょくだいさん、ごめんなさい - 白のカピバラの逆極限 S.144-3

                                                                        ちょくだいさん、ごめんなさい。(ちょくだいさんが中高の後輩で、中学校一年生や中学校二年生の頃の印象からアップデートされていないことも行き違いの原因かと思いますので、この書き方にいたします。) nuc.hatenadiary.org このあいだ書いた上の文章に対して、なぜか、ちょくだいさんに反論されています。 chokudai.hatenablog.com しかし、ちょくだいさんには、かなり感謝と配慮をした文章を書いたつもりでした。 まず、前の方には、ちょくだいさんのおかげで、りりあんさんは模擬面接を受けることになったよ、ちょくだいさんがいなければ知り合うことすらなかったよ、ということが書いてあって、後ろの方には AtCoder のこのあたりの過去問(4問時代のABCのC問題)を解くといい勉強になるよ、とまで書いてあるわけじゃないですか。宣伝までしたくらいの気持ちでしたよ。 というわけで、ち

                                                                          ちょくだいさん、ごめんなさい - 白のカピバラの逆極限 S.144-3
                                                                        • 47歳でAtCoder黄レート入りした話 - Qiita

                                                                          はじめに 筆者は現在47歳、競技プログラミングを始めてかれこれ12〜3年、AtCoderを始めてからは6年ちょっとになりますが、このたびAtCoderアルゴで念願の黄レートになることができました。 この記事はいわゆる色変記事になりますが、この年代の黄色コーダーは数が少ないと思われますので、年齢特有の内容を中心に書いてみたいと思います。 黄色コーダーになるまで AtCoderを始めたのは2016年なので42歳の頃です。すぐにレート1956までは到達しましたが、グラフを見てわかる通り、その後しばらくコンテストにあまり参加しない時期がありました。 2019〜20年にかけて何度か参加しましたが、年齢による衰えなのか周囲のレベルが上がったのか、レートは下がる一方で水落ちの危機を迎えました。 2021年から本格的にコンテスト参加を再開し、しばらくは停滞していましたが、2021年末頃から上昇基調に入り、

                                                                            47歳でAtCoder黄レート入りした話 - Qiita
                                                                          • コーディング面接対策のために解きたいLeetCode 60問

                                                                            自分がコーディング面接対策のために解いてよかった LeetCode の問題をコンセプトごとにまとめました。カバーするコンセプトは LinkedList Stack Heap, PriorityQueue HashMap Graph, BFS, DFS Tree, BT, BST Sort Dynamic Programming Binary search Recursion Sliding window Greedy + Backtracking です。 これらの問題が 30 分以内に実装できれば面接の準備は整ったと言っていいと思います。Easy と Medium で問題は構成されてます。進捗を管理するためにGoogle Spreadsheetを用意しました。コピペしてご自由にお使いください。 これらの問題は、LeetCode のリスト機能でも公開されています。クローンすれば自分がすでにど

                                                                              コーディング面接対策のために解きたいLeetCode 60問
                                                                            • それ、非再帰で書けます - Qiita

                                                                              この記事は再帰自体を全否定する趣旨ではありません。 両方の良さを理解した上で非再帰で書きたいと思ったときの参考にしていただければと思います。 まだ再帰関数書いてるの? 再帰関数はプログラミング言語の有用な機能で、深さ優先探索をベースとする様々なアルゴリズムの実装として有用です。 その一方で、関数呼び出しはオーバーヘッドが大きく、定数倍が弱くなります。また、JavaやPythonなどのスタック領域の制限が厳し目の言語では深すぎる再帰のせいでRuntime Errorが発生する場合があります。 C++などのコンパイル言語ではインライン展開によって関数呼び出しのオーバーヘッド解消されることもありますが、再帰関数は中でもインライン展開の難易度が高く、深い再帰ではそのまま実行せざるを得ない状況になります。 ところが、再帰関数は生のスタックを自分で用意するなどして非再帰に書き直すことができます。(「停

                                                                                それ、非再帰で書けます - Qiita
                                                                              • 浮動小数点数オタクが AtCoder Beginner Contest 169 のC問題をガチで解説してみる - Qiita

                                                                                どうも、浮動小数点数オタクのmod_poppoです。 昨日開催された ABC169 の C 問題が浮動小数点数の罠な問題だったらしいので、どこが罠なのか、そしてどうすれば罠を回避できるのかを解説してみます。 また、典型的な誤答に対しては、それを落とすためのテストケースも用意しました。 問題文(引用) まず最初に問題文を引用しておきます。 AtCoder Beginner Contest 169 | C - Multiplication 3 問題文 $A\times B$ の小数点以下を切り捨て、結果を整数として出力してください。 制約 $0\le A\le 10^{15}$ $0\le B<10$ $A$ は整数 $B$ は小数第 2 位まで与えられる 入力 入力は以下の形式で標準入力から与えられる。

                                                                                  浮動小数点数オタクが AtCoder Beginner Contest 169 のC問題をガチで解説してみる - Qiita
                                                                                • 【競プロ】新人SEがAtCoderを始めて水色になった【色変記事】 - Qiita

                                                                                  AtCoderで水色になりました。いわゆる色変記事です。 本記事では以下の4点について書きます。 競プロをしていて良かったこと・できるようになったこと 勉強したこと・改善案 レート推移や目標ラインの話 環境やマクロの紹介 最初に自己紹介すると、自分は情報系出身のSEで、現在は2年目です。 今年の頭に競プロをはじめ、先日水色になりました。 「プログラミング未経験から~」「50歳を超えて~」みたいな少数派ではないですし、「たったN回で達成!」「M年の苦闘の末に」みたいなドラマもありません。 普通に勉強しているエンジニアが競プロを半年間そこそこ頑張ったみたいな記事です。 バッググラウンドや参加回数については③で詳しく書きます。 なお、競技プログラミングについてザックリ知っている前提で書きます。 「競プロってなに?」「水色ってどのあたりなの?」という場合は が良くまとまっています。 ① 競プロをし

                                                                                    【競プロ】新人SEがAtCoderを始めて水色になった【色変記事】 - Qiita

                                                                                  新着記事