並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 268件

新着順 人気順

atcoderの検索結果161 - 200 件 / 268件

  • 【AtCoder初心者向け】超ざっくり知りたい計算量の話 - Qiita

    はじめに このページはAtCoderを始めてAtCoder Beginner Contest(以下ABC)のA問題、B問題は解けるけど、C問題が難しい…と感じている主にPythonユーザー向けに作成しました。制約と計算量の考え方や、制約と計算量を踏まえて知っておくべき考え方を簡単にまとめました。 そもそも計算量って何? 何回かABCに参加したことがある方なら、$O(N^2)$や$O(NlogN)$といった計算量オーダーが書かれた解説を見たことがあるかもしれません。正直これが書かれてあっても、何が言いたいのかよく分からない、logがどこから来ているのかが分からない、という方が多いと思います。 この計算量オーダーという考え方は、競技プログラミング界で有名なけんちょんさんのページである計算量オーダーの求め方を総整理! 〜 どこから log が出て来るか 〜から言葉を引用すると 計算実行にどのくら

      【AtCoder初心者向け】超ざっくり知りたい計算量の話 - Qiita
    • 40歳を前にAtCoderで青コーダになった話 | 有意に無意味な話

      ABC292で大当たりしまして青コーダの仲間入りしました! 会社の表彰制度を作るときにAtCoderのレーティングも表彰対象にしてほしい[1]無事、表彰制度に組み込めたのですが表彰を前に転職したので私は表彰金をもらい損ねました。という話があり調べてみたら面白そうで自分も参加してみたのが2022年1月でした。そこからどっぷりハマってABC, AHCに参加する日々です。 仕事をしながら競プロを楽しんだ1年を振り返りつつこれから年を重ねていったときにどうなるんだろうか?ということも少し考えたいと思います。 自己紹介 高校時代は数学が得意。大学は京大(情報)で表の専門は連続最適化、裏の専門はお酒&プログラミングで当時からプログラミングは好きでした 仕事はデータサイエンス領域のコンサル。RやPythonを書く機会はあったものの職業プログラマというほどではなかった(パワポを触る時間が長かった) 直近5

        40歳を前にAtCoderで青コーダになった話 | 有意に無意味な話
      • AtCoder Unit Test を使って、動作確認を簡単に! - Qiita

        (これは AtCoder関連サービス Advent Calendar 2018 の25日目の記事です) AtCoder Unit Test という、ブラウザの拡張機能を作りました。 これは、どういうものかというと「AtCoder の問題ページから、自動でテストケースを生成するツール」です。 AtCoder Unit Test – Get this Extension for 🦊 Firefox (ja) AtCoder Unit Test - Chrome ウェブストア 現在の対応言語は、Java, Kotlin, C#, Python 31 です。 その他の言語については Pull Request をお待ちしています。 動作確認を手動でやってますか? AtCoder にコードを提出する前に、たいていの場合は動作確認をします。その時に、以下の手順でやるのが一般的です。 プログラムを実行

          AtCoder Unit Test を使って、動作確認を簡単に! - Qiita
        • AtCoder Heuristic Contest 001 AtCoder Ad - びったんびったん

          AtCoder Heuristic Contest 001 - AtCoder Heuristic Contest の初開催おめでとうございます。 楽しませていただきました。 seed: 1 方針 greedy に初期解を求め、少し山登り法をします 実行時間の前半、 1. を繰り返しそのうちの最良解を後半の初期解とします(多スタート) 後半、「キック近傍+少しの山登り」を近傍とした山登り(これは少しではない)をします 山登り法 広告の位置サイズを変更して良くなっていたら遷移する、ができるので焼きなまし法系だなあと思います。 近傍 1: 広告 1 つを最適化 要素を 1 つ 2 つ変えるというのは頻出なのでします。 広告を 1 つ選び、それ以外すべての広告の位置サイズを不変としたときの(ありうる矩形すべてのうちの)最適な位置サイズに選んだ 1 つの広告を変えます。これが平均 O(N) ででき

            AtCoder Heuristic Contest 001 AtCoder Ad - びったんびったん
          • AtCoderで年齢と使用プログラミング言語の相関を調べてみた - Qiita

            はじめに 先月の記事「AtCoderで年齢(誕生年)とレーティングや得点の相関について調べてみた」にて、タイトルの通り、AtCoderにおける年齢とレーティングの相関を調べてみました。 その記事にて年齢とプログラミング言語に相関があるのではというコメントをいただきました。ありがとうございます!! 実際に年齢と使用言語の相関を調べたみたところ、個人的には予想外な結果が出ました。 年齢が高いほどにC++の使用率が高く、低いほどにPythonの使用率が高いのだろうと予想していたのです。 対象ユーザ AtCoderのランキングのアクティブユーザのみ(2023年4月2日6時付)を元とする。そのため、本記事でユーザという単語が用いられた場合はアクティブユーザを示すとお考えください。アクティブユーザは過去2年以内にRatedコンテストに一度でも参加したユーザと定義されています。 各ユーザの使用言語はAt

              AtCoderで年齢と使用プログラミング言語の相関を調べてみた - Qiita
            • Rubyで競技プログラミング bit演算の基礎まとめ - ls /asapon/blog

              はじめに 最近、競技プログラミングの勉強をはじめました。仕事で求められるものとはまた違った知識・経験が要求され、なかなか難しさを感じています。 この記事では競技プログラミングを通して学んだ、Rubyを用いたbit演算の基礎をまとめたいと思います。 bit演算の基礎 表示 0b を先頭につけることで2進数表示にできます。 irb(main):> bit = 0b101 irb(main):> bit => 5 論理回路 & は積(AND)、| は和(OR)、~は否定(NOT)、 ^ は排他的論理和(XOR)を示します。 irb(main):> bit = 0b101 # 10進数では5 irb(main):> another_bit = 0b111 # 10進数では7 irb(main):> bit & another_bit => 5 # 0b101 irb(main):> bit | a

                Rubyで競技プログラミング bit演算の基礎まとめ - ls /asapon/blog
              • AtCoder ABC 163 D - Sum of Large Numbers (緑色, 400 点) - けんちょんの競プロ精進記録

                「作れる数が連続する整数になる」というの、実は結構よくある!! 問題へのリンク 問題概要 個の整数 がある。 これらから 個以上の整数を選んで合計して得られる整数としてありうるものの個数を 1000000007 で割ったあまりを求めよ。 制約 考えたこと まず、 「この ってなんだよ!!!!!」 となるかもしれない。でも、よくよく考えると、これはそんなに恐れる必要はなくて...。 だとでかすぎるので、試しに として、 の代わりに くらいにしてみよう。そうすると 個の整数は 10000, 10001, 10002, 10003, 10004, 10005 になる。これらの整数から、いくつか選んで足してみる。このとき、 1 個選んで足したときは、どのように選んでも、最上位の値が 1 2 個選んで足したときは、どのように選んでも、最上位の値が 2 3 個選んで足したときは、どのように選んでも、最

                  AtCoder ABC 163 D - Sum of Large Numbers (緑色, 400 点) - けんちょんの競プロ精進記録
                • AtCoderの復習を手助けするWebサイトを作った(AtCoder-Ebbing) - Qiita

                  この記事は競プロ Advent Calendar 2021 8日目の記事です。 概要 AtCoderの復習を手助けするAtCoder-Ebbingというサイトを作成しました。 レートや解いた回数、前に解いたときからの期間等を考慮して解くべき問題を一問ずつ出題してくれます。 名前の由来は忘却曲線のエビングハウス氏です。 https://atcoder-ebbing.web.app https://atcoder-ebbing.firebaseapp.com (キャッシュのせいか片方見れないことがあります。見れない時はもう片方にアクセスすると良いかもしれません) 背景 皆さんAtCoderのレート上がってますか? 僕のレートはずいぶん長いことX軸に平行です😢。 一度解いた問題をちゃんと身につけるために復習が大切だというのは分かっていますが、復習をするため問題を管理するのはやや面倒です。 特に

                    AtCoderの復習を手助けするWebサイトを作った(AtCoder-Ebbing) - Qiita
                  • トポロジカルソートのアルゴリズム(閉路のない有向グラフDAGのソート) | アルゴリズムロジック

                    上の例では頂点1がまだ未探索なので、再び頂点1から深さ優先探索を始めれば良いです。その際は既に探索した頂点は探索しないようにしましょう。 計算量 幅優先探索:\(O(|V|+|E|)\)深さ優先探索:\(O(|V|+|E|)\) 未探索の頂点ごとに深さ優先探索や幅優先探索を行うので、計算量はどちらも \(O(|V|+|E|)\) となります。 C++での実装例 幅優先探索でのアルゴリズム グラフを受け取って、トポロジカルソートをした頂点のvectorを返す関数です。 #include <bits/stdc++.h> using namespace std; struct Edge { int to; }; using Graph = vector<vector<Edge>>; /* topo_sort(G): グラフG をトポロジカルソート 返り値: トポロジカルソートされた頂点番号 計算

                      トポロジカルソートのアルゴリズム(閉路のない有向グラフDAGのソート) | アルゴリズムロジック
                    • AtCoderの参加回数が多い人ほどレーティングが高い? - 唯物是真 @Scaled_Wurm

                      前にAtCoderのレーティングの分布について調べて記事を書きました sucrose.hatenablog.com Twitterで「AtCoderにたくさん参加すればレーティングが上がる」という話を見かけて気になったので、ユーザーの参加回数とレーティングの関係を雑にグラフにしたりレーティングの分布のグラフを書いたりしてみました 調べるのが簡単なAtCoderのランキングに書いてある現在のレーティングと参加回数の表のデータを使いました https://atcoder.jp/ranking?p=1 AtCoderのレーティングの分布 レーティングの色分けについてはこちら↓ https://atcoder.jp/post/14 1回しか参加していないユーザーも数えているので灰色が全体の半分近くを占めています レーティング レーティング上位何%か 2800(赤) 1% 2400(オレンジ) 2%

                        AtCoderの参加回数が多い人ほどレーティングが高い? - 唯物是真 @Scaled_Wurm
                      • 素人によるワーシャルフロイド法 - Qiita

                        最短経路問題で使われるアルゴリズムの1つ。負の閉路がない限り、負の辺があっても使える。グラフ上の全ての頂点間の最短経路を探すので、計算量は$O(V^3)$となる。 ワーシャルフロイド法はその名前から難しそうな印象があって避けていた。しかし、最近競プロの精進中に実装する機会がチラホラあり、実装してみると思ったよりも簡単だったのでびっくりした。ワーシャルフロイド法が必要となった方は簡単な実装なので恐れず調べてみてほしい。 今回すること ワーシャルフロイド法は実装が簡単だが、その裏でどんな振る舞いをしているのかイマイチ掴めなかった。簡単に最短経路を求められるといっても、裏の仕組みを知らずに使うのは自分としてはどうも気持ちが悪い。今回はいろいろ手を動かしてみながら、仕組みの理解を試みる。 C++によるコード まずはワーシャルフロイド法のコードを見てみる。 void warshall_floyd(i

                          素人によるワーシャルフロイド法 - Qiita
                        • (なるべく)HaskellでAtCoderに参加したい - Qiita

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

                            (なるべく)HaskellでAtCoderに参加したい - Qiita
                          • maspyのHP

                            ・Twitter:@maspy_stars ・ProjectEuler → maspy ・AtCoder → maspy ・codeforces → maspy ・(2019/04)pythonで競技プログラミングを始めました。 ・感想や、発見した知見を書き残していこうと思います。よろしくお願いします。 maspy の記事執筆等を支援する → https://github.com/sponsors/maspypy ★最新記事一覧 FPS Composition and Compositional Inverse (Part 2) FPS Composition and Compositional Inverse (Part 1) FPS 合成・逆関数の解説(2)転置原理による合成アルゴリズムの導出 FPS 合成・逆関数の解説(1)逆関数と Power Projection [yukicod

                              maspyのHP
                            • ⚙️ proconio::input!の仕組みを追ってみる | Happy developing

                              この記事ではRustのproconio::input! macroについて書きます。 documentやtest caseで想定されているユースケースをどうやって実現しているのかを追っていきます。 versionは記事を書いている時点で最新のp-v0.4.3 を対象にしています。 proconio::input! とはproconio とは以下のREADME にあるように競技プログラミングで利用されることを意図したIO libraryです。 Easy IO library for competitive programming. proconio provides an easy way to read values from stdin (or other source). The main is input! macro. input! は出題としてstdinからあたえられる入力を読み

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

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

                                  【Python版】AtCoderのコンテスト中に「問題が解けない!」となった時に読む記事 - Qiita
                                • 「答えを決め打つ」タイプの二分探索を使いこなそう - ARMERIA

                                  ゴールデンウィークの有志コンテストなどで多く出題され、話題になったので記事を書こうと思います。 対象レートはだいたい緑~水色(最後のほうは青くらいまで)です。実際のAtCoderの問題を使って説明していくので、ネタバレになる点はご了承ください。 「答えを決め打つ」タイプの二分探索とは この記事で扱うのは、以下のような問題&解法です。 「○○という条件を満たす の最小値を求めよ」という問題において、 「ある値 が与えられたとき、○○を満たすことはできるか?」という判定問題を考え、 その判定問題を繰り返し解くことでYesになる とNoになる の間の境界を特定し、元の問題の答えを求める解法。 もちろん最小値ではなく最大値である場合もあります。実際にいくつか問題を見ていきましょう。 問題例1:花束(ARC050-B) B - 花束 解法 持っている花から2種類の花束を作り、その合計数を最大化する問

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

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

                                      AtCoderをするとき、入れておくといい拡張機能など - ま
                                    • 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

                                      • 【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
                                        • GitHub - E869120/kyopro_educational_90: 2021/3/30 ~ 2021/7/12 に行われる企画「競プロ典型 90 問」の問題・解説・ソースコードなどの資料をアップロードしています。

                                          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_educational_90: 2021/3/30 ~ 2021/7/12 に行われる企画「競プロ典型 90 問」の問題・解説・ソースコードなどの資料をアップロードしています。
                                          • # 「ゲームで学ぶ探索アルゴリズム実践入門」のサンプルコードで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
                                            • Ruby Junk Scripts

                                              トライ トライは文字列の集合を表すのに都合のよいデータ構造です。トライの語源は、「検索 (retrieval) 」という言葉の真ん中 (trie) に由来しています。トライは木構造の一種であり、根から葉までの経路がひとつの単語に対応します。次の図を見てください。 図 : 文字列の集合を表したトライ 上図は文字列の集合をトライで表現したものです。ここでは葉を $ で表しています。たとえば、葉 $7 までたどると、それは "THEN" という文字列を表しています。また、文字列 "THE" をトライから探す場合は、節を順番にたどっていって、葉 $6 に達した時点で "THE" を見つけることができます。もし、節 E の子に葉 $6 がなければ、THE はトライに存在しないことになります。 ●参考文献 A.V. Aho, J.E. Hopcroft, J.D. Ullman, 『データ構造とアルゴ

                                              • 緑コーダーが1日1ACを265日続けた結果

                                                この記事は東京工業大学デジタル創作同好会traP アドベントカレンダー2019の12/4の記事です。 つかみ こんにちは、12/4に記事を書くことに定評があるhukuda222です。 12/4は香風智乃ちゃんの誕生日です。おめでとうございます! ところで、智乃ちゃんの色のイメージは青だと思うのですが(髪は水色系ですが、まぁ制服とか青ですし)、先日僕のAtCoderのレートも青くなりました。そんなわけで、界隈恒例の「*色になるまでにやったこと」っていう記事を書こうと思いました。 先日って書いたんですが、今調べたら今年の7/21でした。この後一回水色に落ちてかなり停滞してたので青パフォが比較的安定してきたのは最近です。 ……嘘です。直近三回でレートを90くらい落としました。誤読と誤解と後から考えるとなんでそんなことしたかわからないミスは、265日くらい1日1ACした程度ではなくならないみたいで

                                                  緑コーダーが1日1ACを265日続けた結果
                                                • Python と VSCode で競プロ - 標準入力の簡易化とサンプルケース判定の自動化 - - Qiita

                                                  【2022-10】見出しを修正しました。 最近 AtCoder で競プロを始めました 始めたのはいいのですが、パッとは解けないので何度も何度もデバッグ地獄です そのたびターミナルにテストケースをコピペの嵐... もうそんなことはやめよう この記事は windows10 1909 VSCode 1.45.1 Python 3.8.2 で確認した内容となっています。 1. 標準入力の簡易化 まずは標準入力の簡易化です。 「VSCode python 標準入力」などの条件で検索していると、teratail にこんな質問と回答がありました VS Codeで標準入力を受け取る方法(Windows10・Python) 競プロ界隈では有名なのかわかりませんが、私が探していたのはまさにこれでした。 import io import sys _INPUT = """\ 2 1 2 3 aaa """ sys

                                                    Python と VSCode で競プロ - 標準入力の簡易化とサンプルケース判定の自動化 - - Qiita
                                                  • 茶色diffの傾向と、緑になるための対策 - dokinの競技プログラミング

                                                    はじめに 先日、ツイッターで次のようなツイートをみました。 茶色の人でレーティングが下がってる人、たしかに同レーティングで求められるレートが上がってるのは確かなんだけど、1人1人追ってくと明らかにパフォーマンスが落ちていて、なんかメンタル的な問題で駄目になっている人が多いのかな、って思ってる。— chokudai(高橋 直大)🍆🎪🐦 (@chokudai) 2020年9月9日 これはいろんな意見があるんだけど、自分は「アルゴリズムを覚える」って行為は、一時的に競プロの実力を落とす行為だと思ってるんだよね。習熟度の低いアルゴリズムが記憶の先頭に来るわけだから、引き出すタイミングもおかしくなるし、妥当な推測を妨げる。(続)— chokudai(高橋 直大)🍆🎪🐦 (@chokudai) 2020年9月9日 そこで、今回はABCで緑になるためには何をすればよいのかを、分析したいと思い

                                                      茶色diffの傾向と、緑になるための対策 - dokinの競技プログラミング
                                                    • rubyで2次元配列を使用しての行列表現&行列の回転 - simanのブログ

                                                      rubyで行列を扱いたい場合には標準クラスでMatrixクラスが用意されていますが、そこまで複雑な操作をしないのであれば、二次元配列で簡単に行列を表現することが可能です。 require 'pp' mat = [[1,2,3],[4,5,6],[7,8,9]] pp mat [[1, 2, 3], [4, 5, 6], [7, 8, 9]]これで下図のような行列が出来ました。 ・回転も欲しくなるよね 行列の回転を行うにはtransposeメソッドとreverseメソッドを使用します。 require 'pp' mat = [[1,2,3],[4,5,6],[7,8,9]] pp mat.transpose.map(&:reverse) #=> 右回転 pp mat.reverse.map(&:reverse) #=> 180度回転 pp mat.transpose.reverse #=>

                                                        rubyで2次元配列を使用しての行列表現&行列の回転 - simanのブログ
                                                      • AtCoder緑になるまで - Qiita

                                                        自己紹介 こんにちは、HIROSHI0635です。今は、金融関係で働く社会人2年目です(仕事でプログラミングは全くしませんOrz...)。大学時代は文系で、プログラムの「プ」も触ったこともなかったですが、競プロ始めて10ヶ月でなんとか緑になれましたので、やってみたかった「〜色になりました」の記事を書いてみました。自分語りの自己満記事ですが、AtCoder始めたてのPythonコーダーなら少しは役に立つことが書いているかもしれません。 1.AtCoder始めるまで 始めた動機は、今の仕事に向いてないなと思って本当に辞めようかと迷ってた時、じゃあ次は技術力で勝負できる仕事がいいなと思って、「今からでもやれるもの」という発想でプログラミングに行き着きました。ただ、プログラミングの「プ」もわからない状態で、何か作りたいものもなかったので、どうしようかと迷っていた時に、大学時代の先輩が薦めてくれたの

                                                          AtCoder緑になるまで - Qiita
                                                        • AtCoder Tags

                                                          AtCoder_Tags_Helper 問題ページから簡単に投票が行える投票欄を追加します ログイン状態であれば投票はVote_Countに反映されます 1:ブラウザにTampermonkeyをインストールします 2:GreasyForkでAtCoderTags_Helperをインストールします 3:問題ページ最下部に投票欄が自動で追加されます AtCoder_Tags_Hint 問題ページ上部にカテゴリーを表示するボタンを追加します ボタンを押すまでカテゴリーは表示されません 1:ブラウザにTampermonkeyをインストールします 2:GreasyForkでAtCoderTags_Hintをインストールします 3:問題ページ上部に自動でボタンが追加されます

                                                          • めぐる式lower_bound, upper_bound in Ruby

                                                            今日のランチタイム、Rubyにlower_boundとupper_boundがないことに気づいた。 二分探索だとArray#bsearchはあるみたいだけど、これは値を返してしまうから情報量が少ない。C++にあるstd::lower_bound()とstd::upper_bound()が欲しい。 ということで、めぐる式にぶたんの考え方に則ってそれぞれ書いてみた。 lower_bound: 探索したい値以上の値が最初に現れる位置を返す def lower_bound(arr, n) ng = -1 ok = arr.size while (ok - ng).abs > 1 mid = (ok + ng) / 2 if n <= arr[mid] ok = mid else ng = mid end end ok end upper_bound: : 探索したい値より大きい値が最初に現れる位置

                                                              めぐる式lower_bound, upper_bound in Ruby
                                                            • 競プロの話

                                                              Automatic Generation of Compact Alphanumeric Shellcodes for x86Aditya Basu

                                                                競プロの話
                                                              • Pythonで簡単bit全探索 product(直積集合)編 - Qiita

                                                                この記事では、bit全探索で選んだり選ばなかったりするもののことを「対象」と呼びます。 背景 bit演算を用いたbit全探索は実装が少し重めで、コードからその意味を読み取りづらいです。この記事では、bit全探索で頭を悩ませた方々に対して、解釈一つである「bitの直積集合」について紹介します。 急いでいる人向け from itertools import product # 例: 数列Aから1つ以上いくつか選んだとき、その和が3で割り切れるものがあるかどうかを判定。 A = [1, 4, 13, 34] n = len(A) for bits in product([0, 1], repeat=n): print("bits: ", bits) a = [x for bit, x in zip(bits, A) if bit == 1] if not a: continue print("選

                                                                  Pythonで簡単bit全探索 product(直積集合)編 - Qiita
                                                                • AtCoder Scores

                                                                  忙しくて更新のための時間があまり取れません.不具合報告などがいくつか寄せられていますが,余裕ができたら対処しますので少々お待ちください,ごめんなさい.えびちゃんより. AtCoder の(重み付き配点に対応した AGC 001 以降の)問題を点数順に並べる非公式サイトです. 諸々が忙しいのでちょっとおやすみします.コンテスト開催ごとの問題追加などは今まで通り行いますが,機能追加 などは 2 月頃までできないと思います.ご了承くださいませ. 追記:2 月頃になったのでできるようになりました.のんびりがんばります.よろしくお願いします. この項目の入力内容はローカルに保存されます. ラベル付きお気に入り機能です.自由にラベルをつけて管理できます.以下の をクリックすることで,別のお気に入りグループをアクティブにすることができます. お気に入りのみ表示 が有効な場合でも,お気に入りを解除した項目

                                                                  • C - 器物損壊!高橋君 - 思考する三角形▽

                                                                    コメント歓迎です。 今回も幅優先探索の応用問題です。 0-1-BFSと呼ばれている手法のようです。 タイトルの勢いが結構好きです。 問題 方針 コード(AC) 問題 AtCoder 版!蟻本 (初級編) - Qiitaより arc005.contest.atcoder.jp 方針 今回の問題で初めてdequeというものを使いました。 dequeは普通のqueueとは違い、先頭にも最後尾にもpushできます。 今回の使い方としては優先度の高いものは先頭にpushし、 優先度が低いものは最後尾にpushします。 そうすることによって優先度が高いものからpopされ、処理が進むことになります。 迷路は通路('.', 's', 'g')か壁('#')の二種類しかなく、通路を優先して処理しています。 変数scoreの値は壁を一度壊さないと進めないマスは"1"、二度なら"2"、三度なら"3"といった具合

                                                                      C - 器物損壊!高橋君 - 思考する三角形▽
                                                                    • 競プロ界隈でpython強者がやっていることをまとめてみた - Qiita

                                                                      はじめまして。 先週競プロに入門した初心者です。 今はpythonを使っています。 出来ればC++に頼ることなく競プロで良い結果を出したい! ということでpythonのままスコアを上げる方法を考えました。 例えばC++では こんな感じで高速化をする人が多いです。 要するに、頻繁に使う記述を簡略化しておくって感じですかね。 前からこういうおまじない的な慣習があることは知っていました。 が、これのpythonバージョンはpythonで競プロをやっているのに知りません。 そこで、pythonの競プロ強者の慣習を学んでいこうと思い、この記事を書きました。 同じような方にも参考になれば幸いです。 はじめにしたこと 強い人の提出コードを読みました。 やっぱりC++競プロと同じようなおまじないがあったので解読していこうと思います。 (とある強そうな人から引用しています) 実際のコード 実際のコードを順に

                                                                        競プロ界隈でpython強者がやっていることをまとめてみた - Qiita
                                                                      • AtCoder Tags

                                                                        Easy イージー(カテゴリー分類出来ないほど簡単な問題のためのカテゴリー) Ad-Hoc アドホック(どのカテゴリーにも分類されない、問題特有の性質を用いるカテゴリー) Searching 探索アルゴリズム(全探索、二分探索、深さ優先探索、bit全探索など) Greedy-Methods 貪欲法(評価値の高い順に取り込んでいくことで解を得る方法) String 文字列アルゴリズム(文字列処理、ローリングハッシュ、Manacher、Suffix Arrayなど) Mathematics 数学(整数、組み合わせ、確率、期待値など) Technique テクニック(累積和、imos法、尺取り法、半分全列挙、平方分割、分割統治、ダブリングなど) Construct 構築(条件を満たす何かを作る問題のためのカテゴリー) Graph グラフ理論(最短経路問題、最小全域木、オイラー閉路など) Dyna

                                                                        • 【AtCoder解説】PythonでABC246のA,B,C,D,E,F問題を制する! - Qiita

                                                                          ABC246の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でABC246のA,B,C,D,E,F問題を制する! - Qiita
                                                                          • オンラインジャッジシステムを自作してみた話【カウントダウンカレンダー2020冬4日目】 - MIS.W 公式ブログ

                                                                            雪の中でハーゲンダッツを食うのは最高ですよね。 どうも、54代プロ研のHarrisonKawagoeです。 競技プログラミングって結構流行っていますね。僕も一時期Atcoderに参加していました。 しかし、自分はほとんど精進していなかった為冷えることもしばしばありました。 ワイ「レートがあんまり伸びないな…そうだ!コンテストサイトを自作したら(自分のサイトで)赤コーダーになれるじゃん!」 ということで、自分が半年前に開発したオンラインジャッジシステムについて話していこうと思います。 オンラインジャッジシステムとは AtcoderやAOJなどのサイトで問題を解いたことがある人ならわかると思いますが、コードを提出した後、出力結果が合ってる場合はAC、違う場合はWAが出力されますよね。 このように、提出したコードが正しく動いてるかどうかを検証するシステムがオンラインジャッジシステムとなります。

                                                                              オンラインジャッジシステムを自作してみた話【カウントダウンカレンダー2020冬4日目】 - MIS.W 公式ブログ
                                                                            • 【AtCoder解説】PythonでABC224のA,B,C,D問題を制する! - Qiita

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

                                                                                【AtCoder解説】PythonでABC224のA,B,C,D問題を制する! - Qiita
                                                                              • AtCoderのPythonで使える外部ライブラリの調査 - Qiita

                                                                                AtCoderではnumpyが使えますがcodeforcesではnumpyは使えないことは一部界隈では有名です.(codeforcesでもnumpy使えるようになっていたらごめんなさい🙇)そんなこともありAtCoderで使える外部ライブラリの一覧をググってたのですが見つからなかったので調べてみました. AtCoderで使えるPythonの外部ライブラリの一覧 cython version: 0.29.16 そもそもcythonで提出できるのでimportすることは無い? joblib version: 0.14.1 手軽に並列化を行えるライブラリ.試してみたがAtCoder上では直列にしか処理できないみたい.(使っても早くならない) networkx version: 2.4 グラフを扱えるライブラリ.これがあればダイクストラとかなんかは書くだけになる.ただ速度は速くないので問題のサイズ

                                                                                  AtCoderのPythonで使える外部ライブラリの調査 - Qiita
                                                                                • 【AtCoder解説】PythonでABC247のA,B,C,D,E,F問題を制する! - Qiita

                                                                                  ※表示レート、灰に初参加者は含めず A問題『Move Right』 問題ページ:A - Move Right 灰コーダー正解率:96.5 % 茶コーダー正解率:98.9 % 緑コーダー正解率:97.8 % 入力 $S$ : 0,1のみからなる長さ $4$ の文字列 考察 0 + $S$ の $3$ 文字目までを出力すればいいです。 コード print("0" + S[:3]) でもいいです。下の書き方はfstring(フォーマットストリング)というものを利用しています。使い方を覚えるといろいろと便利なので、気になる方は調べてみてください。 B問題『Unique Nicknames』 問題ページ:B - Unique Nicknames 灰コーダー正解率:51.9 % 茶コーダー正解率:85.5 % 緑コーダー正解率:92.3 % 入力 $N$ : 人の人数 $s_i,\ t_i$ : 人

                                                                                    【AtCoder解説】PythonでABC247のA,B,C,D,E,F問題を制する! - Qiita