並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 1833件

新着順 人気順

atcoderの検索結果201 - 240 件 / 1833件

  • Amazon.co.jp: アルゴリズム実技検定 公式テキスト[エントリー~中級編] (Compass Booksシリーズ): 岩下真也 (著), 中村謙弘 (著), AtCoder株式会社 (監修), 高橋直大 (監修): 本

      Amazon.co.jp: アルゴリズム実技検定 公式テキスト[エントリー~中級編] (Compass Booksシリーズ): 岩下真也 (著), 中村謙弘 (著), AtCoder株式会社 (監修), 高橋直大 (監修): 本
    • AtCoder ABC 153 E - Crested Ibis vs Monster (緑色, 500 点) - けんちょんの競プロ精進記録

      個数制限なしナップサック!!!!!!! 問題へのリンク 問題概要 種類の魔法を駆使して、HP が のモンスターを倒したい。 番目の魔法は、魔力を だけ消費して、モンスターの HP を だけ減らすことができる モンスターの HP を 0 以下にするのに消費する魔力の最小値を求めよ。 制約 解法 (1) これは個数制限なしナップサック問題そのもの!!!!! 普通のナップサックは、容量 以内で、価値を最大化する問題だけど、今回は魔法によってモンスターに与えるダメージが 以上になる範囲で、魔力を最小化する問題。 実質はほとんど一緒になります。個数制限なしナップサックは、以前これらの記事に書いてみました!!! qiita.com 今回の DP をざっくり書くと、 dp[ i ][ h ] := 最初の i 種類の魔法でモンスターに h のダメージを与える場合の、消費魔力の最小値 とする。このとき d

        AtCoder ABC 153 E - Crested Ibis vs Monster (緑色, 500 点) - けんちょんの競プロ精進記録
      • CrystalでAtCoder青色になりました(色変記事) - Qiita

        AtCoderで競技プログラミングを始めて二年半で青色コーダーになりました。使用言語はCrystalです。この記事はいわゆる色変記事ですが、Crystal言語推しを目的としています。 自己紹介 54歳で競技プログラミングを始めて56歳で入青 妻帯、一人娘(大学院)あり 元ゲーム開発者、現金融系SIerの技術系管理職 Perl生まれのRuby育ち。毎年一つは新しい言語を覚えたい。 数学科出身 AtCoder開始~入緑まで 会社の後輩に紹介されてAtCoderの存在を知り興味を持って始めました。趣味でも仕事でも使用していたRubyを選択。ABC144から始めましたが、ビギナーズラックで水パフォを取り、毎週参加するようになっていきます。丁度10回目で入緑。 緑~水まで 件の後輩氏は「1年で青になる」と宣言して会社を辞めてしまったのですが、当方は世界の腕自慢と競えるオンラインゲームの感覚で、趣味の

          CrystalでAtCoder青色になりました(色変記事) - Qiita
        • AtCoder NoviSteps

          解けた喜び、伸びる楽しさ 【非公式】 AtCoder 上の問題について、取組み状況を記録していくサイトです。 各問題が細かく難易度付けされており、必要な知識を段階的に習得できます。

          • DDoS 攻撃と api サーバの設定ミス プログラミングコンテストサイト「AtCoder」に障害 | ScanNetSecurity

              DDoS 攻撃と api サーバの設定ミス プログラミングコンテストサイト「AtCoder」に障害 | ScanNetSecurity
            • AtCoder Rating Simulator

              AtCoderのレーティングとパフォーマンスの関係を計算しグラフに描画するサイト

              • Pythonで解くAtCoder(ABC176:E) - クルトンのプログラミング教室

                こんにちは、クルトンです! この記事では AtCoderの「AtCoder Beginner Contest 176」のE問題をPythonを使って解説します。 問題のリンクを載せておきます。 atcoder.jp 解法 解説 解説の補足 本解のサンプルコード 別解 別解のサンプルコード まとめ 解法 解説が分かりやすかったので、解説を参考にしてください。 解説 atcoder.jp 解説の補足 解説の「爆発対象が存在するマスは高々個しか存在しないため、調べる回数は回以下に抑えることができ、全探索することが可能です。」という部分について少し詳しく説明します。 kort0nさんのコードでは「が最大かつが最大となる」について全探索して、爆発対象が存在しないの組み合わせが存在するかについて調べています。 このとき、「が最大かつが最大となる」についてすべて調べると、計算量は となり間に合いません。

                  Pythonで解くAtCoder(ABC176:E) - クルトンのプログラミング教室
                • (なるべく)HaskellでAtCoderに参加したい - Qiita

                  はじめに 本記事は三重大学 計算研 Advent Calendar 201916日目です。 少し前までAtCoderに参加していましたが、最近やる気が出なかったのでやる気を出すためかつストレスフリーになるように自動提出やテストケースのチェック等をできるプログラムを書きました。ソースコードはhttps://github.com/flow6852/atsubmit に置いてあります。 本記事はその時に使った様々なモジュール内で定義された関数の使い方や設計のメモを残すこと、筆者が初めて知ったことを書いておくことが目的です。 おことわり 本記事はHaskellを使ってAtCoderのパフォーマンスを向上させる内容ではなくコンテストに快適に参加するためのツールを作成したという内容です。 汚い実装(モナドの恩恵を感じられない...)です 参考文献が結構多いので必要な部分で適宜参考文献を載せていき、最後

                    (なるべく)HaskellでAtCoderに参加したい - Qiita
                  • 【AtCoder】ABC157E 「 Simple String Queries 」Python解説 - Qiita

                    E.Simple String Queries 問題ページ 難易度 : 1443 考察 type1 は 一点更新、type2は 区間取得 問題です。したがって、このクエリを高速に処理するためには Segment Tree を利用するのが良さそうです。 あとは、区間に登場するアルファベットの種類をどうやって管理するかを考えます。これにはいくつかの手段があります。 解法➀ アルファベットごとにセグ木を持つ 欲張って全てのアルファベットについて同時に考えようとするから状況が難しくなっています。 それよりも、アルファベットごとに独立に考えるほうが簡単です。つまり、区間 $[l,r)$ 内に対象のアルファベットが含まれるか(存在するか) を求めることにします。 そのためにはアルファベットごとに管理仕分ける必要があるので、26本のセグメントツリーを作成します。 $S[i] = a $ なら $a$ に

                      【AtCoder】ABC157E 「 Simple String Queries 」Python解説 - Qiita
                    • 【Python版】AtCoderのコンテスト中に「問題が解けない!」となった時に読む記事 - Qiita

                      この記事は、競プロ Advent Calendar 2021 3 日目の記事です。 飛ばしていい雑談 現在水色コーダーのH20と申します。 2020年の5月よりAtcoderのコンテストに参加してから、競技プログラミングという沼にハマり続け、参加回数はすでに80回を超えました。 沼にハマり続けるのは何も競技プログラミングだけに限りません。WA(不正解)とTLE (実行時間超過)の沼にもハマり続けました。 何度「解法は合ってた、解けてたはずなのに!」という後悔と、「ぎりぎりバグを見つけて通せた!」という喜びがあったでしょうか1。 実装ミスは特にこの半年の上がっては下がりを繰り返す気にくわないほど横ばいなレート推移となる一因です2。 とにかく今悩んでいる問題の AC (正解)を目指す。 解法は合ってるはずなのに何故か提出するとWAになってしまう状況や、ペナの数はもう気にしないとにかくこの一問を

                        【Python版】AtCoderのコンテスト中に「問題が解けない!」となった時に読む記事 - Qiita
                      • 【AtCoder】プログラミング初心者が1カ月でAtCoder茶色になるまで【Python】 - Qiita

                        概要 2021/01/28からPythonでAtCoderを始め、AtCoder Beginner Contest(通称ABC)に参加し、2021/02/27のコンテスト(ABC 193)で茶色になりました。プログラミング経験はほぼゼロの状態からスタートしました。 自分の勉強の振り返りだけでなく、AtCoderの始め方や過去問サイトも紹介しています。 途中で登録の仕方や過去問サイトを紹介していますので、ぜひ記事を読みながらAtCoderを始めてみてください。 プログラミングのことを何も知らない人でもこの記事を読んだらAtCoderを始められるように書いたつもりです。 私はPythonを使っていますが、コードは出てこないので他の言語を使う方でも差し支えなくお読みいただけます。(他の言語の特有の難しさについては分かりませんのでその点はご留意ください) 厳しいことや難しいことは言ったりしないので

                          【AtCoder】プログラミング初心者が1カ月でAtCoder茶色になるまで【Python】 - Qiita
                        • Pythonで解くAtCoder(ABC176:C) - クルトンのプログラミング教室

                          こんにちは、クルトンです! この記事では AtCoderの「AtCoder Beginner Contest 176」のC問題をPythonを使って解説します。 問題のリンクを載せておきます。 atcoder.jp 解法 実装 サンプルコード まとめ 解法 「踏み台を込めて身長を比較したとき、自分より前に、自分より背の高い人が存在しない」ことが条件なので、前から順番に調べていくとよいでしょう。 このとき、i+1番目の人よりも前にいる人の中で一番背の高い人を求めるために、i人を毎回調べていると計算量がになるため間に合いません。 このような場合は最も背の高い人の身長を変数に代入して保存しておくと、計算量がになり間に合います。 では実装していきましょう。 実装 まず入力を受け取ります。 N = int(input()) A = list(map(int,input().split())) 次に、

                            Pythonで解くAtCoder(ABC176:C) - クルトンのプログラミング教室
                          • Scratcher's AtCoder の紹介 - Qiita

                            ※この記事は、AtCoder関連サービス Advent Calendar 2018 の 12日目の記事です。 こんにちは、yos1up です。好きなプログラミング言語は、C++ と Python3 とスーパーマリオメーカーです。 今日は、プログラミング言語 Scratch (Scratch 3.0)で AtCoder に参加できるようになる Chrome 拡張 Scratcher's AtCoder の紹介をしたいと思います。 Get Started とりあえず使ってみたい!という方は、Scratcher's AtCoder のウェブストアのページ から早速インストールしてみてください!同ページに使い方も載せてあります! ここから先のこの記事では、Scratcher's AtCoder ができあがるまでの経緯について記しておきます。 きっかけ 競技プログラミングは楽しいですよね!自分は競プ

                              Scratcher's AtCoder の紹介 - Qiita
                            • AtCoder Daily Training - AtCoder

                              AtCoder Daily Training EASY A問題2問、B問題2問、C問題1問の計5問を出題します。 どなたでも参加できますが、主にこれからAtCoderを始めようと思っている方、新しい言語を学ぼうと思っている方、灰色(Rating1から399)の方を対象としています。 AtCoder Daily Training MEDIUM B問題2問、C問題2問、D問題1問の計5問を出題します。 どなたでも参加できますが、主に茶色・緑色(Rating400から1199)の方を対象としています。 AtCoder Daily Training HARD C問題2問、D問題1問、E問題1問、F問題1問の計5問を出題します。 どなたでも参加できますが、主に水色と青色(Rating1200から1999)の方を対象としています。 AtCoder Daily Training ALL A問題2問、B問

                                AtCoder Daily Training - AtCoder
                              • AtCoderをするとき、入れておくといい拡張機能など - ま

                                ac-predictor-minimal は古いっぽいので、 ac-predictor を使ったほうがよいかも

                                  AtCoderをするとき、入れておくといい拡張機能など - ま
                                • RubyでAtcoderからテストを自動生成するライブラリを作りました - Qiita

                                  Atcoderのコンテストにチマチマでているのですが、最近Rustでテスト生成や提出ができるCLIツールを作っている方を見かけました。 https://github.com/tanakh/cargo-atcoder 丁度コンテスト時に入出力例をいちいち試すのが面倒だと感じていたので、Rubyでもテストを自動生成するGemをつくってみました。 使い方 インストール gem install green_dayなりでインストールしてください。 ログイン bundle exec green_day login でユーザー名とパスワードを要求されるので入力してください。 Atcoderからのset-cookieの中身をcookie-storeというファイルに保存します。セッションを消したかったらこのファイルを削除してください。 セッションがないと開催中のコンテストにアクセスすることができません。 作

                                    RubyでAtcoderからテストを自動生成するライブラリを作りました - Qiita
                                  • RustのAtCoder環境構築手順(devcontainer編)

                                    VSCodeとdevcontainerを使い、RustでAtCoderのコンテストに参加するための環境を整えました。 その際の手順メモです。 Dockerfileを用意する VSCodeとDockerを使える状態から始めます。 まずは、devcontainer用のDockerfileを作ります。 rust.Dockerfileというファイル名で、プロジェクト直下に置きます。 ファイルの内容は以下のようにしました。 cargo-compete は、競技プログラミング用のcargoのツールです。 1.42.0 は、2023年2月18日現在AtCoderが対応しているRustのバージョンです。 「最初から rust:1.42.0 系のイメージを使えばよいのでは?」→ そのバージョンでは cargo-compete のインストールが困難でした。 devcontainerを用意する VSCodeにD

                                    • RubyでAtCoder ABC286(A, B, C, D)を解いてみた - Qiita

                                      はじめに Webエンジニアを目指して、RubyやRailsをいじってます。 今回は、RubyでAtCoder ABC286のA, B, C, Dを解きました。備忘録として解き方をまとめていきたいと思います。 A - Range Swap N, P, Q, R, S = gets.split.map{ |x| x.to_i - 1} a = gets.split(" ") a[P..Q], a[R..S] = a[R..S], a[P..Q] puts a.join(" ")

                                        RubyでAtCoder ABC286(A, B, C, D)を解いてみた - Qiita
                                      • 【AtCoder】ABC251E Takahashi and Animals Python解説 - Qiita

                                        はじめに ABC 251 E 問題 Takahashi and Animals を解くために考えたこと、ACできるPython3(PyPy3)コードを紹介します。 E.Takahashi and Animals 問題ページ 難易度 : 水色 1227 考察 $Ai$ すべてについて 払う,払わないを考えられれば簡単ですが、計算量が $2^N$ となるので間に合いません。 ここで、餌やりがどういうルールであるか理解するために可視化してみます。 つまり $\ i ≦ k ≦ N\ $ 番目までの動物への餌やりが完了している状態 からは、$i-1$ 番目の動物に餌を与えるために $A_{i-1}$ 払って $\ i-1 ≦ k ≦ N\ $ 番目までの動物への餌やりが完了した状態 に遷移するか、もしくは $A_{i-2}$ 払って $\ i-2 ≦ k ≦ N\ $ 番目までの動物への餌やりが完

                                          【AtCoder】ABC251E Takahashi and Animals Python解説 - Qiita
                                        • HACK TO THE FUTURE 2023 予選(AtCoder Heuristic Contest 016)参加記 - 競プロ始めました-kaede2020-

                                          0.はじめに 1.問題文の音読とビジュアライザの表示 2.最初の提出 3.最初の考察 4.問題文の概要 5.Mに対して最小のNを求める 6.エラー率0の場合のコードを書く 7.エラー率(ε)からグラフを予測する 8.相殺(そうさい) 9.シミュレーション(モンテカルロ法) 10.デバッグ中(スコア計算を書いて、テストケースを100個試す) 11.デコードのノイズ(ε)とNのサイズを考察する 12.Nを大きくしたらエラーを消せる? 13.エラー率が高かったらNを小さくする 14.復元(ランダムに並び替えるとは何かについて考える) 15.問題点のリストアップ 16.グラフの同型判定 17.終わりに 18.最終結果(2022年11月22日) 0.はじめに はじめまして、もしくはお久しぶりです、競プロ歴約3年のかえでです。 今回は、HACK TO THE FUTURE 2023 予選(AtCode

                                            HACK TO THE FUTURE 2023 予選(AtCoder Heuristic Contest 016)参加記 - 競プロ始めました-kaede2020-
                                          • AtCoder茶になってから1年かけて灰に色変しました。|きりみんちゃんノート

                                            レートが落ち始めるタイミングまではレートと精進グラフがほぼ相関していたのですが、その辺りから急激に乖離しはじめ全然レートがあがらなくなりました。 パフォーマンスで見ると、春頃までは定期的に1000パフォくらいを取っていたのですが、その後は調子がよい回でも800パフォ程度にしかならなくなり、同時にケアレスミスなどで爆死する回も増えていきました。 原因考察正直よくわかりません。おそらく複合的な理由だと思います。 ユーザーレベルのインフレ AtCoderのレートは他の参加者との相対評価なので、参加ユーザー数が増えたことと解法に関する知見が溜まったことによるユーザーレベルのインフレの影響がある気がします。 実際、結構むずかしい問題を解いたと思っても、回答速度の少しの差で以前よりパフォーマンスが出なくなったと感じています。 また、数学が苦手なきりみんちゃんが得意とする探索などのアルゴリズム実装系問題

                                              AtCoder茶になってから1年かけて灰に色変しました。|きりみんちゃんノート
                                            • AtCoder に登録したら解くべき精選過去問 10 問 を Go で解いてみた - Qiita

                                              @drken さんの『AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~』は AtCoder の入門記事としてとても人気があります。 当該記事の最後には、各言語によるACコードまとめへのリンクがありますが、Go 言語版 は 2019/01 現在でリンク切れになってしまっています。 (執筆者さんのアカウント自体がなくなっているようです) 私は競プロに Go 言語で参加することが多いので、今回Goで解いたACコードでまとめを新しく作りました。本記事に乗せてあるコードおよび解説の特徴は次のとおりです: 解き方は原則として @drken さんの解説に合わせてあります。もともと C++ と Go は文法が比較的似ている言語なので、そこまで大きな違いはありません。 少し私好みの書き方を採用している場合もあります。 Go 特有の注意点などがある場合は追記して

                                                AtCoder に登録したら解くべき精選過去問 10 問 を Go で解いてみた - Qiita
                                              • AtCoder に登録したら解くべき精選過去問 10 問を Ruby で解いてみた - Qiita

                                                はじめに n番煎じですが、@drkenさんの記事 AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~に取り上げられている問題10問を Ruby で解いてみました。 解法の詳細な解説は元記事をご参照ください。 第 1 問: ABC 086 A - Product (100 点) a, b = gets.strip.split.map(&:to_i) puts (a * b).odd? ? 'Odd' : 'Even' 一行に複数の数値が入力されるときにそれらを受け取るお決まりのパターンです。また、Ruby には偶数奇数を判定する even? や odd? という組み込みのメソッドがあるのでそれを活用しています。 提出例 第 2 問: ABC 081 A - Placing Marbles (100 点)

                                                  AtCoder に登録したら解くべき精選過去問 10 問を Ruby で解いてみた - Qiita
                                                • AtCoderで始めるPythonプログラミング入門 - 1 - yambe2002’s diary

                                                  これは、プログラミングコンテストを使ったPythonプログラミング入門です。よくある入門書とちがい、コンテストの問題をどんどん解いていき、必要になったらそのときに、足りない分を勉強する、というやり方をとっています。 プログラミングやPythonの知識がゼロの人、プログラミングは分かるけどコンテストはやったことない人、をターゲットにしています。日本で一番有名なコンテストサイト『AtCoder』と、人気プログラミング言語『Python』を使います。 プログラミングコンテストってなに? プログラミングの力を競争(きょうそう)するコンテストです。問題が与えられるので、それを解くプログラムを書いて提出します。どれだけ多くの、ちゃんと動くプログラムが提出できたかで、順位が決まります。 いろいろなタイプのものがありますが、よくあるのが ・インターネットで参加する ・1~2週に一回 ・1時間半くらい ・5

                                                    AtCoderで始めるPythonプログラミング入門 - 1 - yambe2002’s diary
                                                  • 【AtCoder解説】PythonでABC237のA,B,C,D,E,F問題を制する! - Qiita

                                                    ABC237のA,B,C,D,E,F問題を、Python3でなるべく丁寧に解説していきます。 ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。 シンプル:余計なことを考えずに済む 実装が楽:ミスやバグが減ってうれしい 時間がかからない:パフォが上がって、後の問題に残せる時間が増える ご質問・ご指摘はコメントかツイッター、マシュマロ、Discordサーバーまでお気軽にどうぞ! Twitter: u2dayo マシュマロ: https://marshmallow-qa.com/u2dayo ほしいものリスト: https://www.amazon.jp/hz/wishlist/ls/2T9IQ8IK9ID19?ref_=wl_share Discordサーバー(質問や記事の感想・リクエストなどどうぞ!) : https://discord.gg/jZ

                                                      【AtCoder解説】PythonでABC237のA,B,C,D,E,F問題を制する! - Qiita
                                                    • 【色編記事】AtCoder水色になりました 〜4年間の挑戦を振り返る〜 - Qiita

                                                      はじめに こんにちは、ken と申します。趣味は競技プログラミングです。 先日、 4 年間続けてきた AtCoder のレートがついに水色になりました。1 レートが灰色のころから水色コーダーになることを目標としていたので、ようやくといった感じです。 水色レートというのがどの程度の実力なのかについて触れておくと、Chokudai さんのブログ2に次のような記述があります。 水色 (B ランク R1200~1599  上位 15%) 水色はかなり優秀です。普通に企業とかで超優秀って言ってるプログラマが居た時に、半分くらいはこのランクになると思います。数学が得意なタイプだと、この一つの上の青色に行きますが。 半数以上の IT 企業において、アルゴリズム能力についてはカンストと言えるでしょう。特にアルゴリズム的な能力を必要としない会社であれば、ここから上はレートを上げても実務に役立つ部分はほとんど

                                                        【色編記事】AtCoder水色になりました 〜4年間の挑戦を振り返る〜 - Qiita
                                                      • 医師がAtCoderで黄色になった話【色変記事】 - Qiita

                                                        rinmaoと申します。 ABC308でついに黄色コーダーとなったので色変記事です。 色変記事は他にも山ほど転がってると思いますが、比較的レート帯に関わらず共通する内容を書いたつもりですので、この記事を少しでも参考にしてくださる人がいれば幸いです。 前回の色変記事もあるのでそちらも是非お願いします。 自己紹介 ・プログラミング歴6年くらい?趣味でやってる ・メイン言語はPython ・医師 精進の取り組み方 自分なりの精進方法をまとめます。 精進対象 基本的にABCしか解いてないです。 ARCはたまにやってますが、AGCはほぼ手をつけてません。 過去問をひたすら遡っていき、解けなかった問題をストックしておいて暇な時に解き直しています。 その他、典型90問やEDPCなどはやっていました。 atcoder以外のコンテストサイトも全くと言っていいほどやってないです。 やらなくていいと思っていると

                                                          医師がAtCoderで黄色になった話【色変記事】 - Qiita
                                                        • THIRD プログラミングコンテスト 2022 (AtCoder Heuristic Contest 017)参加記(問題:Road Repair) - 競プロ始めました-kaede2020-

                                                          0.はじめに 1.問題文 2.最初の考察 3.最初の提出 4.うだうだと考える(実装をする気にならない時間) 5.ローカルでのテストケースを実装して5回目の提出をしました 6.たどり着けない頂点がなくなるまで時間いっぱい山登り 7.順位表のトップが50,000,000,000点!? 8.ライバルには負けたくない 9.天啓が降ってきた(と思ってからの暗黒の3日間) 10.コンテスト8日目(最終日前日) 11.コンテスト最終日(2023年2月5日) 12.終わりに(2023年2月7日更新) 13.最終結果(2023年2月7日更新) 0.はじめに はじめまして、もしくはお久しぶりです、競プロ歴約3年のかえでです。 今回は、THIRD プログラミングコンテスト 2022 (AtCoder Heuristic Contest 017)に参加しました。開催期間は2023年1月28日(土)12:00から

                                                            THIRD プログラミングコンテスト 2022 (AtCoder Heuristic Contest 017)参加記(問題:Road Repair) - 競プロ始めました-kaede2020-
                                                          • AtCoderの提出コードを取得し、GitHubにプッシュする

                                                            AtCoderの提出コードを取得し、GitHubにプッシュする AtCoderという競技プログラミングサイトで自分が提出したコードを保存したくなりました。 スクレイピングの練習も兼ねて自動で取得できるプログラムを作成したので記録に残します。 勝手に使用してもらって大丈夫ですが、ライブラリやChromeDriverのインストールの環境を作るのがちょっと大変かもしれません。 目的 AtCoderで自分が提出したACコードを取得し、GitHubにプッシュする 仕様 提出した問題のうち、最新のACコードを取得する コンテストごとにフォルダを分けて、問題ごとにファイルを作成する リポジトリごとGitHubにプッシュする 言語 Python (3.7.0) ライブラリ スクレイピング Selenium (3.141.0) Git GitPython (3.1.14) フォーマット clang-form

                                                              AtCoderの提出コードを取得し、GitHubにプッシュする
                                                            • # 「ゲームで学ぶ探索アルゴリズム実践入門」のサンプルコードでAtCoderの問題を解いてみた - Qiita

                                                              「ゲームで学ぶ探索アルゴリズム実践入門」のサンプルコードでAtCoderの問題を解いてみた はじめに どうもこんにちは、thunderです。 私事ではありますが、2023/2/18に「ゲームで学ぶ探索アルゴリズム実践入門~木探索とメタヒューリスティクス」という技術書を出版しました! amazon https://www.amazon.co.jp/dp/4297133601/ 技術評論社 https://gihyo.jp/book/2023/978-4-297-13360-3 本書の魅力はspeakerdeckにアップロードしたスライドにまとめているので、御覧いただけると幸いです。 さて、本書のサンプルコードはサポートページからダウンロードできるのですが、学んだ内容を活かして何かプログラムを書きたい!という方もいらっしゃるのではないかと思います。 本記事では、このサンプルコードを用いて実際に

                                                                # 「ゲームで学ぶ探索アルゴリズム実践入門」のサンプルコードでAtCoderの問題を解いてみた - Qiita
                                                              • 【AtCoder】ビット全探索〜問題まとめましたっ!〜 - Qiita

                                                                C問題でちらほら出てきてたbit全探索とかいうのをやっつけようと思って、解いたついでにまとめてみたよ! お勉強 先走って備忘録 一応、自分が何回も確認したものを載せておくよ!「わかってるけど忘れた」時に参考にしてね! # i が、スイッチのオンオフや、ものを買うかどうか、を管理するよ。 # (1 << n) まで、つまり、 0 から 2^n -1 まで動くよ。 for i in range(1 << n): # 適当な操作 # i を利用して、x番目のスイッチがオンかどうかチェックするよ! # & 1 の部分は、i >> x の1の位だけを見たいから。 if ((i >> x) & 1): 基礎の確認 もしビット演算に不安があれば、先にこれを見て確認した方が良き! Python ビット演算 超入門 C++の人は、AtCoder公式がいいのかな? AC - 3.05.ビット演算 本番 ビット

                                                                  【AtCoder】ビット全探索〜問題まとめましたっ!〜 - Qiita
                                                                • Ruby と Perl と Java で解く AtCoder ABC 129 C (前編) - Qiita

                                                                  追記 階段数 = 足元の段 + 次の段 です。 @swordone さん、コメントありがとうございました。 階段の上がり方は、上記の通りですが、勘のいい方は フィボナッチ数 であることに気付くと思います。 そこで、連続した階段数を求め例.#.#...->1, 1, 3、組合せ数を総乗していきます。fib(1) * fib(1) * fib(3) n, m = gets.split.map(&:to_i) a = [] 1.upto(m) do |i| a[i] = gets.to_i end a[0] = -1 a.push(n + 1) b = [] 1.upto(m + 1) do |i| if a[i] - a[i - 1] == 1 puts "0" exit end b.push(a[i] - a[i - 1] - 1) end fib = [] fib[1] = 1 fib[2

                                                                    Ruby と Perl と Java で解く AtCoder ABC 129 C (前編) - Qiita
                                                                  • Introduction to Heuristics Contest - AtCoder

                                                                    Introduction to Heuristics Contestとは 普段のABCなどのコンテストでは「最適解」を求める問題が多く出題されています。 一方、世の中には最適解を求めることが困難な問題も多くあります。 このコンテストではスケジューリング問題を題材に、最適解の代わりに「出来るだけ良い解」を求める問題に挑戦します。 終了後に公開する解説とあわせ、このタイプの問題に対する取り組み方と典型的な手法を学びます。 ルール 問題数はメインの問題(A)が1問と入門者向けのガイド付き小問(B, C)が2問です。 テストケースは全部で50個あり、各テストケースでの得点の合計が、その提出の得点となります。 提出は複数回行うことが出来、最も高い提出の点数があなたの得点となります。 それぞれの問題に対して、提出の間隔は5分以上空ける必要があります。異なる問題への提出間隔の制限はありません。 終了後の

                                                                      Introduction to Heuristics Contest - AtCoder
                                                                    • 『ヤマト運輸プログラミングコンテスト2019 - AtCoder』へのコメント

                                                                      ブックマークしました ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください Twitterで共有

                                                                        『ヤマト運輸プログラミングコンテスト2019 - AtCoder』へのコメント
                                                                      • AtCoderで Python を高速化する Numpy + Numba を使う - Qiita

                                                                        結果は、上の表のとおりで、Numba を使う効果は大いにあることがわかります。Numba JIT は高速化したい関数に@njit とデコレータを付けるだけでなのですが、それだけで約900ms となって AC にできてしまいます。 このケースでは、JITする関数がそれほど複雑でないためコンパイル時間が約250msなので、それで十分なのですが、コードが複雑になるとコンパイル時間が長くなってしまいます。その場合には、キャッシュ又は AOT が使えます。 キャッシュを使った場合は、約630msで PyPy の実行時間と同じ程度になります。キャッシュを使う場合には、Numpy と Numba の読み込みが必要で最低でも約500msが必要になります。「AtCoderはJavaで2倍の余裕があるようにしています」というルールだそうなので、Java よりも処理は高速になる場合が多いので、ほぼ問題なく AC

                                                                          AtCoderで Python を高速化する Numpy + Numba を使う - Qiita
                                                                        • AtCoder Library (ACL) - AtCoder

                                                                          AtCoder Library (ACL) を公開します。 様々なアルゴリズムを AtCoder 側で実装したもので、多くの AtCoder 上のコンテストでも使用可能となります。 [github](https://github.com/atcoder/ac-library) [zip](https://img.atcoder.jp/practice2/ac-library.zip) 詳しくは、zip ファイル内のドキュメントをお読みください。 また、practice contest でぜひ使用をお試しください。 https://atcoder.jp/contests/practice2 また、9/20 と 9/26 には、このライブラリの公開を記念したコンテストが開催される予定です。 - https://atcoder.jp/contests/acl1 - https://atcoder

                                                                            AtCoder Library (ACL) - AtCoder
                                                                          • コードテストで速度測定済!PythonによるAtCoderスニペット集 (1)基本編 - Qiita

                                                                            特に明記無い限り、本記事は2023年AtCoder言語アップデートの前の情報です AtCoderをはじめたので、自分用スニペット集を、少しずつ記述していきます。 2021/4/18 入緑しました! 2021/5/1 記事を分割しました 2021/7/20 記事を分割しました 2021/9/28 記事が概ね完成しましたので、「更新型記事」という表示を削除しました 2021/12/19 入水しました! 2023/7/8 AtCoder言語アップデート2023を先取りして第3章を追加検証しました (1) 基本編(本稿) (2) 応用編 参考: 【競プロ】PyPy3で使える!Numpy代用ライブラリ 参考: 【競プロ専用】PythonでMultiSetを今度こそ 応用編では、以下の典型アルゴリズムを、実際の問題を解きつつ、速度測定しています。 累積和、いもす法、BIT、セグメント木、bit全探索、

                                                                              コードテストで速度測定済!PythonによるAtCoderスニペット集 (1)基本編 - Qiita
                                                                            • RubyでAtCoder ABC303(A, B, C)を解いてみた - Qiita

                                                                              gets s = gets.tr("01", "ol") t = gets.tr("01", "ol") puts s == t ? "Yes" : "No" n, m = gets.split.map(&:to_i) - sum_pair = Array.new(m){ gets.split.each_cons(2).map{ |pair| pair.sort! } }.flatten.each_slice(2).uniq.size + sum_pair = Array.new(m){ gets.split.each_cons(2).map(&:sort!) }.flatten(1).uniq.size - puts [*1..n].combination(2).size - sum_pair + puts (n * (n - 1)) / 2 - sum_pair

                                                                                RubyでAtCoder ABC303(A, B, C)を解いてみた - Qiita
                                                                              • AtCoder Beginner Contest 282 A〜C問題をPythonで解いてみました - Qiita

                                                                                ABC282(AtCoder Beginners Contest 282) A〜C問題をPythonで解いてみました。 コードは雑めです。ゆるしてー 競技プログラミングの勉強一切したこと無いので、テクニックは知らないよ。ごめんねー A問題 提出コード n, m = map(int,input().split()) int_s = [] for s_i in range(n): s_i = input() int_s_i = 0 for s_i_ch in s_i: int_s_i <<= 1 if s_i_ch == 'o': int_s_i |= 1 # print(f"{s_i}={bin(int_s_i)} len(s_i)={len(s_i)}") int_s.append(int_s_i) all_bit = (1<<m)-1 pair = 0 for n1 in range(n

                                                                                  AtCoder Beginner Contest 282 A〜C問題をPythonで解いてみました - Qiita
                                                                                • AtCoder ABC 131 D - Megalomania (茶色, 400 点) - けんちょんの競プロ精進記録

                                                                                  いわゆる、「必要条件を列挙したら十分条件になっている」というタイプの教育的な Greedy 問題ですね。 問題へのリンク 問題概要 個の仕事があって、仕事 は、 の時間を要し、時刻 までに終わらなければならない。 時刻 0 に仕事を開始する。 個の仕事をすべて完遂することが可能かどうかを判定せよ。 制約 考察 直感的には、締め切りが早いものから順にやっていくべきなようにも思えます。それが実際正しいことを、順を追って確認していきましょう。 「交換しても悪化しない」を考える まずあらゆる仕事のうち、締め切りが最も早い仕事を としましょう (締め切り時刻を 、作業時間を とします)。 この仕事 が最初に行われないような解で「締め切り違反をしない」ものがあったとしましょう。このとき、この「締め切り違反をしない」という性質を崩すことなく、仕事 を先頭へと持って来れることを示しましょう。 その解におい

                                                                                    AtCoder ABC 131 D - Megalomania (茶色, 400 点) - けんちょんの競プロ精進記録