並び順

ブックマーク数

期間指定

  • から
  • まで

521 - 560 件 / 1793件

新着順 人気順

atcoderの検索結果521 - 560 件 / 1793件

  • pythonで競技プログラミング(AtCoder)の問題を解くとき、注意すべき落とし穴 - Qiita

    pythonで競技プログラミング(AtCoder)を始めて2年ほど経ち、やっと緑パフォーマンスが安定するようになってきた趣味プログラマーです。この記事では自分が過去にpythonで問題を解く上でハマった落とし穴について書いていきます。 pythonの基本文法やforループや条件分岐を使いこなせるようになり、ABCのAB問題が安定して解けるようになり、アルゴリズム・データ構造の学習を本格的に始めたくらいの人に読んでもらうことを想定しています。 この記事で出てくる落とし穴は知っていれば回避は簡単ですが、知らなければ一見して原因が分かりにくく、どういったワードでググればいいか手がかりが掴みづらいです。この記事が、自分と同じところで詰まった方々の助けになれば幸いです。 実際に自分がハマったミスを挙げているので、「こんなミスするのお前くらいだろ!」ってツッコミがあるかもしれませんがご容赦ください。

      pythonで競技プログラミング(AtCoder)の問題を解くとき、注意すべき落とし穴 - Qiita
    • 【AtCoder】初学者,TLEに心を折られる - Qiita

      はじめに PythonでAtCoderにチャレンジしているのですが,TLEで挫折することが多々あります. 今回もそんな感じになったので,初記事を書いてみます.ちなみに,PythonもAtCoderもともにぺーぺーです. 発生している問題・エラー 例えば,タイムリーなこの問題(AtCoder Regular Contest 130 B- Colorful Lines).後工程から見ていく方法でトライしました. 以下の通り回答しましたが.TLEが22/35となりました.平均2206msかかっている. $Q ≤ 3×10^5$ でしたが,おそらくN, Mを毎ループ探してしまうのがダメなのか…しかしそれをしないやり方はあるのか…. import sys input = sys.stdin.readline H, W, C, Q = map(int, input().split()) t = [0]

        【AtCoder】初学者,TLEに心を折られる - Qiita
      • AtCoder Python 謎テク集 - Qiita

        AtCoderで使える、Pythonを使って色んなことをするテクニック集です。謎テクといいつつ結構役に立つと思います。 AtCoder以外のコンテストサイトでは、こういう技が禁止されてたりするので、利用規約やらを読みましょう 逐次更新していきます 乗ってなくてなんかいい感じのあったら教えてください CPython CPythonで使える技です コンパイル時計算(?) C++などのコンパイル言語では実行をする前にコンパイルをするフェーズが必要ですが、CPythonでは、実際の実行をする前にコンパイルフェーズ的な実行が1回されます。コンパイルフェーズと実際の実行は実行環境を共有するので、コンパイルフェーズで作ったファイルを実行時に参照したりできます。そのため、前計算、ライブラリの展開、コンパイルなどといった時間のかかる処理を事前にしておくことができます。 このコンパイルフェーズはおそらくCPy

          AtCoder Python 謎テク集 - Qiita
        • AtCoder Beginner Contest 260 不参戦記 - Qiita

          S = input() d = {} for c in S: d.setdefault(c, 0) d[c] += 1 for c in d: if d[c] == 1: print(c) exit() else: print(-1) N, X, Y, Z = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) result = [] a = list(range(1, N + 1)) a.sort(key=lambda x: (A[x - 1], -x), reverse=True) result.extend(a[:X]) a = a[X:] a.sort(key=lambda x: (B[x - 1], -x), reverse=True)

            AtCoder Beginner Contest 260 不参戦記 - Qiita
          • AtCoder-Ebbing: AtCoder復習のお供に

            AtCoder-Ebbingで復習を始める 復習を始める

            • 1 入力と出力 Dif:5 ABC199 A:「AtCoder 凡人が『緑』になるための精選50問詳細解説」サンプル - Qiita

              この記事は拙著「AtCoder 凡人が『緑』になるための精選50問詳細解説」のサンプルです 価格:100円 kindle:https://www.amazon.co.jp/dp/B09C3TPQYV booth(pdf):https://sano192.booth.pm/items/3179185 次:https://qiita.com/sano192/items/467939ec8336d0bec380 【目標】 ・入力と出力のやり方を身につける 【概要】 典型的なA問題。ひねった部分はないので、入力と出力のやり方がわかれば解くことができる。 【方針】 入力を受け取り、条件を判定する。 pythonで入力を受け取る方法は以下の5つ。 (1)数字が1つ 入力例:N

                1 入力と出力 Dif:5 ABC199 A:「AtCoder 凡人が『緑』になるための精選50問詳細解説」サンプル - Qiita
              • 前調べなしにAtCoderに参加して戸惑った人のための最低限知るべきこと! - Qiita

                はじめに 先日初めてAtCoderという競技プログラミングのコンテストに参加しました! アカウントだけは以前に作成していました。 友人が毎週土曜日の21時にコンテストに参加しているので私もそのコンテストに参加しようと思い、ホームページで時間が一致するコンテストを見つけて参加登録をしました。 そして、コンテストの時間になり問題を見たのですが、色々コンテスト自体のことでわからないことがあり、時間をとってしまい、しまいには途中でエラーの理由がわからず(アルゴリズムは正しい)コンテストが終了しました。 初めて参加する人が当日そんな状況になっても大丈夫なように、そしてこれからコンテストに参加する人のために最低限知っといたほうがいいことをまとめます。 開発環境 Python3 JupyterNotebook 問題 私が参加したエイシングプログラミングコンテスト2021(AtCoder Beginner

                  前調べなしにAtCoderに参加して戸惑った人のための最低限知るべきこと! - Qiita
                • 初心者におすすめのプログラミング言語は?【AtCoderを始めよう】

                  AtCoderに向いてる言語は?AtCoder などの競技プログラミングは、C++(シープラプラと呼ばれる事が多い)をおすすめされます。一体どうしてなのでしょうか? # C++入門 AtCoder Programming Guide for beginners (APG4b)でも C++をおすすめされています。 そもそも C++とは+ 世界で一番普及しているC 言語の拡張版です。C 言語はすごくコンピュータに優しい言語です。ほぼマシン語といっても過言ではないでしょう。コンピュータにやさしいので、しょぼい CPU でも動きます。実は炊飯器やエアコンといった家電にもショボいコンピュータが入っています。こういうショボいコンピュータ向けのソフトウェアには、ほぼ確実に C 言語で作られています。 ショボいものだけでなく、今あなたが使っている PC やスマホのソフトも高確率で C 言語が使われています

                  • [AtCoder] ABC 121 D – XOR World | ヤマカサの競技プログラミング

                    \( f(A, B) \) の式変形 \( f(A, B) = A \oplus (A + 1) \oplus \cdots \oplus B\) ここで、\(f(0, B) \) を考えます。 \begin{eqnarray} f(0, B) &=& 0 \oplus 1 \oplus \cdots \oplus(A – 1) \oplus A \oplus (A + 1) \oplus \cdots \oplus B \\ f(0, B) &=& f(0, A-1) \oplus f(A, B) \end{eqnarray} 上式に左から \( f(0, A-1) \) の排他的論理和を作用させると、 \begin{eqnarray} f(0, A-1) \oplus f(0, B) &=& f(0, A-1) \oplus f(A, B)\\ f(0, A-1) \oplus f(0

                      [AtCoder] ABC 121 D – XOR World | ヤマカサの競技プログラミング
                    • Pythonが遅いときにPyPyを使うと救われることがある話 (AtCoder)

                      AtCoderのAtCoder Beginner Contest 189 (ABC189)に参加して、C問題でつまづいたのでメモ。私はふだんPythonを日常生活で使っており、AtCoderのコンテストもPythonを使って参加している。一方で、ピュアなPythonは遅いことがよく知られている。果たしてPythonが遅いことで不利益を被ることがあるだろうか? 日常生活ではPythonが遅いことで直接不利益を被ることはあまりない。数値計算をするときにはピュアなPythonではなくNumpy, Scipyを使うことが多く、十分な速度が得られる。また、日常生活ではたとえばC++だと0.1秒だがPythonだと3秒かかるみたいな場合も、たった3秒なら待てばいいだけなので問題がない(この計算を10000回回す必要がある、とかなってくると話は別)。 しかし、競技プログラミングで時間制限が厳しい場合はピ

                        Pythonが遅いときにPyPyを使うと救われることがある話 (AtCoder)
                      • RustでAtCoderのログイン認証を通す - Qiita

                        はじめに RustでAtCoderにログイン認証を通すコードを作成したので備忘録として残しておきます。 処理の流れ https://atcoder.jp/login にアクセスしてCookieとcsrf_tokenを取得 csrf_token、ユーザ名、パスワードをクエリパラメータに設定してログイン コード reqwestのfeaturesに"blocking"、"cookies"を追加する必要があります。 use scraper::Selector; use reqwest::{blocking::Client, cookie::Jar}; use std::{io, sync::Arc}; fn get_user_id() -> String { let mut input = String::new(); print!("ユーザ名を入力してください: "); io::stdout()

                          RustでAtCoderのログイン認証を通す - Qiita
                        • AtCoderで水色になったのでここまでの記録をまとめる

                          AtCoderで水色になった ようやくAtCoderでRatingが水色になったのでここまでの記録をまとめておきます。こういった記事は山のようにありますが、リアルタイムな情報にも少しは価値があるかと思うので書きます。自分自身の振り返りの意味も込めて。 途中で一年ほど院試や卒論のためにAtCoderから離れていたのでどれぐらいかかったかは何とも言い難いです。かかった期間などに関しては以下の図を参考にしてください。 簡単に自分自身の経歴や属性をまとめると、 NAISTの修士課程2年で、バイオインフォマティクスの研究に取り組んでいる 学部は農学部で、プログラミングや情報系の勉強は独学で少ししていた 基本情報と応用情報の資格持ち(競技プログラミングにはほぼ関係ない) 昔からパズルっぽいことは好きで数学も好きな方だが得意かは微妙… 言語はPythonを使っています 解いた問題や勉強した本など AtC

                            AtCoderで水色になったのでここまでの記録をまとめる
                          • PythonのWebスクレイピングでAtCoderのレート分布を出してみた - Qiita

                            追記 大学別のレート分布も出しました。 -> AtCoderの大学別レート分布を出してみた きっかけ レート分布に興味があったので、はじめは手入力でグラフを作っていました。 1980年〜2010年生まれのレート分布です(1枚目が各年割合、2枚目が各年人数) pic.twitter.com/2F6xLnZhRI — saba (@saba_kpr) 2019年6月4日 しかしこれだと1回作るのに時間がかかる上、手も疲れるし入力ミスもありました。そもそもせっかくPythonが書けるのに自動化しないのはアホらしいということで、Webスクレイピングの勉強も兼ね自動化しました。 やったこと 言語: Python 3.6 ライブラリ: urllib, BeautifulSoup, csv を用いて、 https://atcoder.jp/ranking から国籍や年代、レートなどを指定して当てはまる人

                              PythonのWebスクレイピングでAtCoderのレート分布を出してみた - Qiita
                            • 【AtCoder解説】PythonでABC213のA,B,C,D,E問題を制する! - Qiita

                              ABC213のA,B,C,D,E問題を、Python3でなるべく丁寧に解説していきます。 ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。 シンプル:余計なことを考えずに済む 実装が楽:ミスやバグが減ってうれしい 時間がかからない:パフォが上がって、後の問題に残せる時間が増える ご質問・ご指摘はコメントかツイッター、その他のご意見・ご要望などはマシュマロまでお気軽にどうぞ! Twitter: u2dayo マシュマロ: https://marshmallow-qa.com/u2dayo ほしいものリスト : プレゼントしていただけると、やる気が出ます! よかったらLGTMや拡散していただけると喜びます! 目次 ABC213 まとめ A問題『Bitwise Exclusive Or』 B問題『Booby Prize』 C問題『Reorder Car

                                【AtCoder解説】PythonでABC213のA,B,C,D,E問題を制する! - Qiita
                              • C++の標準ライブラリデータ構造まとめ -AtCoder等, 競プロで使える- - Qiita

                                はじめに 競技プログラミングで必須となるC++標準ライブラリのデータ構造(+α)について概要と使い方をシンプル(サンプルコード多め、文章の解説少なめ)にまとめています。 C++でコンテストに参加する際のメモ代わりになれば幸いです。 C++14 (GCC 5.4.1) を前提としていますので、その点ご了承お願いします。 C++でよく使うデータ構造 この記事では以下のデータ構造について紹介します。 int, long long string pair tuple vector set multiset stack queue priority_queue deque map unordered_map これらはbits/stdc++.hをインクルードしておけば使えます。 また、以下では簡単のため、using namespace std;をプログラム冒頭に記載しているものとして下記プログラム例で

                                  C++の標準ライブラリデータ構造まとめ -AtCoder等, 競プロで使える- - Qiita
                                • AtCoderのコーディング環境の設定 - Qiita

                                  AtCoderのコーディング環境を改善する atcoder-cli, pypy3の追加を行う。 前回の環境 vscode, c/c++, python, docker, online judge toolsの環境構築 dockerfileの設定が誤っていました。 そこも改善していきたいです。 docker dockerfile 「apt-get -y install --no-install-recommends」の後の記述を変更。 atcoder-cliの為に、nodejs、npmをインストールします。 # See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.134.0/containers/cpp/.devcontainer/base.Dockerfile ARG

                                    AtCoderのコーディング環境の設定 - Qiita
                                  • 競プロ初心者がPythonでAtCoderを始めるのに役立った記事まとめ - Qiita

                                    はじめに 競技プログラミングに関して知識ゼロの状態から勉強をしていて、実際に参考にしているものや見返す頻度の高いものをまとめました。これからPythonで競技プログラミングを始める方におすすめの記事のまとめになっています。 入茶を目指して Pythonの基本的なこと おわりに これからPythonで競技プログラミングを始める方の参考になれば幸いです。

                                      競プロ初心者がPythonでAtCoderを始めるのに役立った記事まとめ - Qiita
                                    • # AtCoder 向け C++ & Docker 環境構築 - Qiita

                                      Pythonを使ってAtCoderを最近始めましたが、TLEにあまりにも悩まされたので、C++で挑むことにしました。そのときのDockerの環境構築方法について備忘録として残しておきます。 環境構築の手順 筆者は以下の環境にて構築しました MacOS Big Sur 11.6.1 Apple MacMini 2018 Intel Core i3 また、Docker for Desktopはインストール済みと言う前提で進めます。 1. Dockerfileの作成 Dockerfileの中身は以下の通りです。 FROM ubuntu:latest RUN apt update && \ apt upgrade -y && \ apt install -y build-essential RUN mkdir /work WORKDIR /work

                                        # AtCoder 向け C++ & Docker 環境構築 - Qiita
                                      • 【世界一わかりやすい】Atcoder ABC249 C・D問題 Python3解説 - Qiita

                                        ABC249のC,D問題を、Python3で解説します! とにかく読みやすさを重視した、初心者向け解説です(´・ω・`) ゆっくり見ていってね(`・ω・´)キリッ C問題 『Just K』 問題ページ:C問題 - Just K 考え方 まず、全探索できないか考えよう(`・ω・´) $N≦15$なので、$S_1, S_2, ..., S_N$ の中から、好きな個数だけ選ぶ選び方は、せいぜい2の15乗で、$32768$通り。(コードの中では、0indexで考えていくよ) 選び方を全て列挙して、それぞれの場合に、$K$個出現する文字の種類数を数える。 そして、組み合わせ列挙といえば、itertools(`・ω・´) itertoolsについて(他サイトより引用させていただきました) https://note.nkmk.me/python-math-factorial-permutations-c

                                          【世界一わかりやすい】Atcoder ABC249 C・D問題 Python3解説 - Qiita
                                        • AtCoder水色を武器に就活した話 - Qiita

                                          はじめに タイトル一本釣りじゃねえか この記事はDMMグループ '20卒内定者アドベントカレンダー17日目の記事です. こんにちは@iwakiri_kです. ほぼ競プロしかスキルの無い私がWeb系企業から内定を頂くことができたので, そのプロセスを書き残しておきたいと思います. 記事長いから一言でまとめて まあ何とかなった. 水色程度レベルでのWeb系就活なら,最低限何かモノを作った経験は欲しいかも. 内定取得時のスペック ・パスナビで前期偏差値45の国公立大学生 ・情報工学専攻 ・学部4年生 ・AtCoder水色 ・GPA3.0(上位5%の成績優秀者として表彰された) ・Railsちょっとできる(完全に理解ネタのやつではない) あとスペックと言えるものか分かりませんが,面接時に話したネタとして ・BMSで旧発狂皆伝を所持 ・スピードキューブのシングル自己ベ約9秒 ・PSPのチートコード作

                                            AtCoder水色を武器に就活した話 - Qiita
                                          • RubyでAtCoder ABC232(A, B, C)を解いてみた - Qiita

                                            s = gets.chomp.chars t = gets.chomp.chars u = s.zip(t) k = (t[0].ord - s[0].ord) % 26 puts u.all?{ (_1.ord + k) % 26 == _2.ord % 26 } ? "Yes" : "No" n, m = gets.split.map(&:to_i) if m == 0 puts "Yes" exit end t = Array.new(n){ Array.new(n, false) } m.times do a, b = gets.split.map{ _1.to_i - 1 } t[a][b] = true t[b][a] = true end a = Array.new(n){ Array.new(n, false) } m.times do c, d = gets.split.

                                              RubyでAtCoder ABC232(A, B, C)を解いてみた - Qiita
                                            • AtCoderとは? - AtCoderInfo

                                              AtCoderとは? AtCoderとは、プログラミングを用いて戦う頭脳スポーツ「競技プログラミング」のコンテストサイトの一つです。 競技プログラミングとは? → スポーツや娯楽として楽しみ競い合うことを主軸としておりますが、同時にプログラミング能力や論理的思考力などが付くため、ITエンジニアの一部の職などにおいて、AtCoderでの実力を評価されることがあり、「役に立つスポーツ」や「役に立つネットゲーム」としての側面があります。 AtCoderの活用を考えている企業の方へ → AtCoderの競技内容 AtCoderには、Algorithm Contest, Heuristic Contestの2種類のコンテストがあります。 Algorithm Contest AtCoder Beginner Contest, AtCoder Regular Contest, AtCoder Grand

                                                AtCoderとは? - AtCoderInfo
                                              • パナソニックプログラミングコンテスト(AtCoder Beginner Contest 186) 備忘録  - 何かやってみるブログ

                                                全体的な感想と反省 競技プログラミングの勉強はしていないとはいえプログラマになって1年くらい経つにも関わらず、D問題すら解けてないことに 危機感を覚えた。次のコンテスト(2021/1/2)までに AtCoder Problemsでたくさん問題を解いて(できればA問題の過去問からC問題の過去問を全て解いて)アルゴリズムの勉強をしていきたい。 A問題 a, b = gets.chomp.split(" ").map(&:to_i) puts a / b B問題 h, w = gets.chomp.split(" ").map(&:to_i) arr1 = [] data = readlines.map do |line| arr2 = line.chomp.split(" ").map(&:to_i) arr1 << arr2 end min = arr1.flatten.min result

                                                  パナソニックプログラミングコンテスト(AtCoder Beginner Contest 186) 備忘録  - 何かやってみるブログ
                                                • AtCoder、「第3回アルゴリズム実技検定」の通常受験を開始

                                                  AtCoderは25日、プログラミングスキルを可視化するオンラインプログラミング検定「アルゴリズム実技検定」第3回試験の通常受験を開始したと発表した。 同社は、新型コロナウイルスによる外出自粛が続く状況を受けて、5月23日〜6月6日に開催される「第3回アルゴリズム実技検定」の受験資格を無償で提供すると5月5日に発表しており、第3回試験に限り無償で受験できる。 同検定は、自宅からオンラインで受験でき、6月6日12:59までの期間内なら、いつでも好きな時間に、アルゴリズム実技検定ホームページから無料で受験できる。5月23日の試験開始当日に実施されたリアルタイム受験では、2088人が受験。 アルゴリズム実技検定は、「アルゴリズムをデザインし、コーディングする能力」、つまり1からプログラムを作成する能力を問う、実践を想定した日本初の検定。 「知識型ではない」「受験者が得意なプログラミング言語を選べ

                                                    AtCoder、「第3回アルゴリズム実技検定」の通常受験を開始
                                                  • AtCoderのKeyence2019 C(Exam and Wizard)で、条件を誤解したまま実装したメモ - Qiita

                                                    みたいなケースだと、1,5の項をどうにかしなければいけないですが、5は6よりは小さくても2よりは大きいので、5を2に対して当てれば$A_i \lt B_i$となっている項の中だけで並べ替えることによって$A_i \lt B_i$となっている項を減らすことができます。 そうすることで解消できなかった項に対して$A_i \ge B_i$となっている項を使って$A_i \lt B_i$となっている項を消していく、という考え方でうまくいくはずです。 もし解消できなかった項数が$A_i \ge B_i$となっている項数よりも多い場合はNG(-1)を返す、とすればOK。 これを踏まえた上で下記のように実装しました。(これも拙い実装ですが…) keysに$A_i \lt B_i$となっている項の$i$を持たせておいてA, Bのそれぞれの項を取ったスライスを定義して、それらを逆順に並べ替え、先頭から順に$

                                                      AtCoderのKeyence2019 C(Exam and Wizard)で、条件を誤解したまま実装したメモ - Qiita
                                                    • レッドコーダーが教える、競プロ・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
                                                      • 文系学部生がAtCoderを始めてから緑色になるまで(環境構築・学習方法) - Qiita

                                                        はじめに 2019年10月頃から本格的に手をつけ始めたAtCoderでのレートがついに800を超えました。 キリが良いのでQiitaデビューをしようと思い、筆を取りました。 本記事では、備忘録と友人への布教用を兼ねて、 環境構築からコンテストへの参加まで自身がやってきたことを紹介したいと思います。 なお、macOS Catalina version10.15.3を前提として進めていきます。 当初は、Jupyter Notebookを使用していたのですが、 入力例を貼り付ける際に改行が含まれないことがネックになり、VSCodeに移行しました。 以下ではそれぞれの環境構築を説明したいと思います。 1. Jupyter Notebook Homebrewとpipを用いてpyenvを使わずに、 Python3型に標準搭載されているvenvで設定した環境にJupyter Notebookをインストー

                                                          文系学部生がAtCoderを始めてから緑色になるまで(環境構築・学習方法) - Qiita
                                                        • AtCoderにPythonでログイン、自動提出する方法 - Qiita

                                                          はじめに みなさんは何を使ってAtCoderに提出していますか?AtCoderのサイト上で、という人が大多数だと思いますがatcoder-cliやonline-judge-toolsを使ってる人もいらっしゃると思います。わたしはここのサイト(とその関連記事)を参考に自分で自動提出できるようにしたいなぁ~と思っていましたが、うまくいかなかったので、この記事を書きました。 できなかったこと まず、先ほどのサイトの通り、実装してみても、うまく提出できません。なぜでしょうか。ぼくはこれの原因究明に3日ぐらいかけました。アホですね!!しかし、この記事をご覧になさっている方なら私の二の舞を演じることはないと思います!! ※この記事を読む前に先にはじめに紹介したサイトを御一読なさることをお勧めします。この記事はそのサイトの内容を理解したことを前提にして話を進めさせていただきます。また私の実行環境はWin

                                                            AtCoderにPythonでログイン、自動提出する方法 - Qiita
                                                          • AtCoder緑になるまでに勉強した基本的なアルゴリズムやデータ構造まとめ - Qiita

                                                            先日開催されました東京海上日動プログラミングコンテスト 2020 で緑レートになることができました。 中には初回参加で緑になってしまう人もいるようですが、自分の場合そう順調にいくはずもなく、ここまで来るのに結構自己学習を重ねてきました。初参加したコンテストはアルゴリズムやデータ構造などは No 勉強、過去問も大体 10 門程度を解いただけでの参加ということもあり、灰色 diff でした。そこからコツコツ勉強を重ね、10 回目のコンテスト参加でようやく緑になれました。このブログでは今までに自身が学習したアルゴリズムやデータ構造を備忘録の意味も含めまとめ&Python での実装をして行きたいと思います。 もしこの記事がお役にたったら LGTM いただけると幸いです。 自身のスペック 大学、大学院は理系だが、情報系ではない。 数学は昔から苦手ではないが、決して得意でもない。 プログラミング歴は

                                                              AtCoder緑になるまでに勉強した基本的なアルゴリズムやデータ構造まとめ - Qiita
                                                            • AtCoder Beginner Contest: D問題解答集 Python - Qiita

                                                              AtCoder Beginner Contest 171 collections.defauldict(int) を使って、各数字の個数を数え上げておく import collections N = int(input()) A = sorted(map(int, input().split())) cnt = collections.defaultdict(int) for a in A: cnt[a] += 1 ans = sum(A) Q = int(input()) for _ in range(Q): B, C = map(int, input().split()) ans += (C - B) * cnt[B] cnt[C] += cnt[B] cnt[B] = 0

                                                                AtCoder Beginner Contest: D問題解答集 Python - Qiita
                                                              • サポーターズ、プログラミングコンテストのパイオニアAtCoder社と、21卒向け1on1マッチングイベントを開催

                                                                TOP > プレスリリース一覧 > 「技術・テクノロジー」のプレスリリース > 株式会社サポーターズのプレスリリース > サポーターズ、プログラミングコンテストのパイオニアAtCoder社と、21卒向け1on1マ... サポーターズ、プログラミングコンテストのパイオニアAtCoder社と、21卒向け1on1マッチングイベントを開催 ~交通費最大4万円支給!AtCoderユーザー学生と人気IT企業とのマッチングを実現~ ■https://voyagegroup.com/news/press/01_20200130_01/ 株式会社CARTA HOLDINGSの連結子会社で、キャリア支援事業を展開する株式会社サポーターズ(東京都渋谷区、代表取締役:楓 博光)は、より多くのエンジニア志望学生の未来を切り開くため、2020年2月24日(月・祝)、競技プログラミングコンテストの開催や国内最大の競技プ

                                                                  サポーターズ、プログラミングコンテストのパイオニアAtCoder社と、21卒向け1on1マッチングイベントを開催
                                                                • AtCoder Library Practice Contest 参戦記 (Python) - Qiita

                                                                  ACL Contest は 1200 から rated なので rated で出場できるかどうしようと考えつつ、AtCoder Library Practice Contest を解いてみるテスト. PRACTICE2A - Disjoint Set Union ACL に Union Find 入ってないような、見落としてる??? あ、DSU = Disjoint Set Union = Union Find か. from sys import setrecursionlimit, stdin def find(parent, i): t = parent[i] if t < 0: return i t = find(parent, t) parent[i] = t return t def unite(parent, i, j): i = find(parent, i) j = fi

                                                                    AtCoder Library Practice Contest 参戦記 (Python) - Qiita
                                                                  • 【internal_csr編】AtCoder Library 解読 〜Pythonでの実装まで〜 - Qiita

                                                                    0. はじめに 2020年9月7日にAtCoder公式のアルゴリズム集 AtCoder Library (ACL)が公開されました。 私はACLに収録されているアルゴリズムのほとんどが初見だったのでいい機会だと思い、アルゴリズムの勉強からPythonでの実装までを行いました。 この記事では internal_csr をみていきます。 internal_csr は、internal と付いていることからわかる通り、ACLの内部で使われているものなので、ACLを使う上で意識することは無いと思います。ACL v1.3 の段階では mincostflow や internal_scc で使われています。 対象としている読者 ACL内部で使われている CSR 形式について知りたい方。 ACLのコードを見てみたけど何をしているのかわからない方。 C++はわからないのでPythonで読み進めたい方。 参

                                                                      【internal_csr編】AtCoder Library 解読 〜Pythonでの実装まで〜 - Qiita
                                                                    • AtCoderで青色になった話 - wacchoz’s note

                                                                      2018年8月25日からAtCoderを始め、2019年9月1日に青色になりました。 わーい!! 実に1年かかりました。 いやー長かった。 というわけでポエムを書きます。 競プロを始めたきっかけ 競プロの前の前提なのですが、プログラミング経験は(趣味レベルですが)既にあり、数学も得意で割と好きでした。 かなり前の話ですが、書店で蟻本を偶然見つけたのが競プロに興味をもったきっかけです。 正確にいつ買ったのかは覚えていませんが、初版第6刷で2011年3月発行とあるので、8年前ぐらいでしょうか。 この頃はAtCoderもまだ無く、英語のオンラインジャッジ中心だったので、興味はありましたが、実際に参加することはありませんでした。 それから放置すること数年、2018年に突然競プロの存在を思い出し、調べている中でAtCoderを知り、割とすぐにユーザ登録をして始めました。 水色になるまで 特に過去問で

                                                                        AtCoderで青色になった話 - wacchoz’s note
                                                                      • Ruby で解く AtCoder Judge System Update Test Contest 202004 B - Qiita

                                                                        はじめに いつもお世話になっております AtCoder で、新しいジャッジシステムの負荷テストを兼ねたコンテストが行われました。 こちらの記事 にて既に Perl で解いたのですが、勉強として Ruby でも解いてみたいと思います。 今回のB問題 AtCoder Judge System Update Test Contest 202004 B - Picking Balls 2つの配列 赤ボール・青ボールそれぞれの配列を準備します。 n = gets.to_i r = [] b = [] n.times do x = gets.split.to_a if x[1] == 'R' r.push(x[0]) else b.push(x[0]) end end r.sort! {|a, b| a.to_i <=> b.to_i} puts r b.sort! {|a, b| a.to_i <=

                                                                          Ruby で解く AtCoder Judge System Update Test Contest 202004 B - Qiita
                                                                        • AtCoder の Heuristic で入黄しました!

                                                                          はじめに こんにちは、through です。 先日行われた AHC029 にて Heuristic で黄色になりました!Algorithm ではなく Heuristic ではありますが、晴れてずっとなりたかった暖色コーダーを名乗ることが出来るようになりました。つい最近 Algorithm の方で入青を達したばかり (今は水色に落ちてしまいましたが…) で、2023年終盤に色変を 2 回も出来てとても嬉しい限りです。 入黄に至るまでのレート遷移 Heuristic 初参加は 2021.12.12 の AHC007 で、競技プログラミングを始めて 2 週間足らずの競技プログラミングを始めたての時だったようです。当時は AHC の問題を AC することすら出来ませんでした…。ただその次の 2022.02.26 の AHC008 にて青 performance を獲得することが出来、AHC にハマ

                                                                            AtCoder の Heuristic で入黄しました!
                                                                          • AtCoder Beginner Contest(ABC) 281 - Pythonでのバーチャル参加結果と内容整理 - Qiita

                                                                            1. 前書き AtCoderBeginnerContest(ABC)の参加結果と内容の整理、および外部の解説記事を参考にした上で、自分なりに解法を整理していきます。 使用言語はPythonで行きます。本業ではJavaかRubyonRailsユーザーですが、計算速度の問題であったり、トレンドに乗っておくという意味でも(こちらが大きい)、Pythonに慣れていきたいと思います。 2. コンテスト内容 コンテスト名 AtCoder Beginner Contest 281 開催日時 2022/12/10(土) 21:00 - 22:40 実施区分 バーチャル参加 2022/12/14(水) 3. 結果 区分 結果 所要時間 実行時間

                                                                              AtCoder Beginner Contest(ABC) 281 - Pythonでのバーチャル参加結果と内容整理 - Qiita
                                                                            • AtCoder ABC 304 C - Virus (灰色, 300 点) - けんちょんの競プロ精進記録

                                                                              単純な DFS / BFS 系はいよいよ灰色 diff になったのですね。 問題へのリンク 問題概要 二次元平面上に 人がいます。 番目の人は座標 にいます。 今、 番目の人がウィルスに感染しました。ウイルスに感染した人から距離が 以内にいる人にウイルスは次々とうつります。 各人 について、ウィルスに感染したかどうかを判定してください。 制約 考えたこと この問題は、まず「グラフの問題だと思えるか」どうかが一つの壁になるかもしれないですね。 頂点: 人の人たち 辺:人 と人 との距離が 以下であるとき、辺 を張る としたグラフを考えましょう。たとえば、下図のような感じになります。 こうして作ったグラフにおいて、各頂点が頂点 1 とつながっているかどうかを調べればよいです。上図の場合、頂点 2, 4, 6, 8 は Yes であり、頂点 3, 5, 7, 9 は No です。 グラフの連結性

                                                                                AtCoder ABC 304 C - Virus (灰色, 300 点) - けんちょんの競プロ精進記録
                                                                              • AtCoderでよく使いそうな関数メモ - Qiita

                                                                                この記事は何? AtCoderでよく使いそうな関数たちをまとめた記事です。 記事を作成した背景 AtCoder挑戦時に毎回検索して時間を使っているなぁ。。。 -> 関数をまとめて記事にしておいたら自分に必要な関数だけ参照できるのでは? -> 関数まとめた記事を書いて、辞書みたいに使おう! 入力を受け取りたい AtCoderの入力パターンは下記かな、という認識です。 入力値が1つだけある 10など 入力値がスペース区切りで複数ある 1 2 3など 1. 入力値が1つだけある 例:文字列として入力を取得

                                                                                  AtCoderでよく使いそうな関数メモ - Qiita
                                                                                • AtCoderをRustでやるのにcargo-compete導入してみた - Qiita

                                                                                  以下の記事で紹介されているcargo-completeを導入してみてとてもよかったので、最低限使うまでのやることをまとめたいと思います。 詳しい使い方はREADME.mdが超丁寧に書かれているのでご参照ください。 上から順番にコマンドを入力していけば導入できるようになってるはずです。

                                                                                    AtCoderをRustでやるのにcargo-compete導入してみた - Qiita