Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに hossie - AtCoder 2023/04/01 に AtCoder 入水しました (参加者の上位 10% ほどにあたる水色レートに到達)。参加から一年ほどでした。 本記事は色変に関する、まとまりのない長文ポエムです。 入緑の色変記事 AtCoder 緑になったのでパズル好きな人に競プロを紹介してみる - Qiita Rust 初心者の AtCoder 用開発環境設定と、解く流れの例 - Qiita Rust 初心者の AtCoder でよく使う言語機能とライブラリー覚え書き - Qiita スペック 開発環境 Micr
米田 優峻さん(E869120@ICPC2022 (@e869120) / Twitter)の著書「競技プログラミングの鉄則 ~アルゴリズム力と思考力を高める77の技術~」をご恵贈いただきました。その感想です。 競技プログラミングの鉄則 (Compass Booksシリーズ) 作者:米田 優峻マイナビ出版Amazon 素晴らしい内容で競技プログラミング初心者への最初の1冊として最もお勧めできる本です。特に、数学も得意というわけではなくプログラミング自体も初めてという方には、ダントツで一番お勧めできる本です。 本書の良い点 1.図が分かりやすい。 最初の48ページが無料公開されているので、百聞は一見にしかずということで見ていただけると良いと思います。i www.dropbox.com 図自体分かりやすいですし全編カラーで書かれているのも良いです。段階的に説明すべきものについて無理に1枚に納め
◆ 内容 競技プログラミングで使える C++ の主要な標準機能のサンプル付き解説を執筆しています。C++ のバージョンは AtCoder の gcc 12.2 に準拠した C++17 / 20 / 23 です。競技プログラミング固有のハックやスタイル(<bits/stdc++.h>, 大きな配列、using namespace std 等)の使用を避けているため、一般的な C++ ソフトウェア開発でも使える、また C++ 標準ライブラリの機能 (std:: から始まる) を意識したコーディングの練習ができます。 ◆ 対象読者 ・競プロ上達のために C++ 標準ライブラリを一通り学びたい方 ・コンテストで参照できる C++ ドキュメントを探している方 ・現時点ではとくに APG4b や市販入門書で C++ を学んだ人にとって有益な内容から書き始めています。将来的にはさらに幅広い内容を扱う計画
ヒューリスティックコンテスト、楽しんでますか?私は楽しんでいます。最近企業AHCなんかも続々と出てきて、これからどんどん盛り上がってくれるんじゃないかと期待しています。 とはいえ、ヒューリスティックコンテスト特有の取っつきづらさがあるのも確かです。「どこから手を付けていいか分からない……」「AHC後のTLに焼きなましとか2-optとか流れてきたけど何が何だか……」と思われた方も多くいらっしゃるのではないでしょうか? AHC006は巡回セールスマン問題を発展させた問題なので、確かに2-optを使った焼きなましができると有利ではあります。しかし、専門知識がないと戦えないかというと全くそんなことはありません。 この記事では、AtCoder Heuristic Contest 006 (AHC006)を題材として、 焼きなまし → 使いません ビームサーチ → 使いません 2-opt → もちろん
creo.toml が唯一の設定ファイルです。リポジトリの sample_aplusb を参考に、creo.toml に然るべき行を追加したり、然るべきディレクトリにファイルを追加することで、動かすことができます。 (ドキュメントに書かれている creo add ... は現状では動きません!) 設計 言語・使用ライブラリ 開発言語は Rust でした。コマンドラインツールを書くことができ、ある程度の規模のコードを書くことができる言語として Go や Rust など様々な言語がありますが、以下の理由で Rust を選びました。1 個人的に慣れ親しんでいる言語であった Rust で DI を試したかった Go での実装がすでにあり (https://github.com/camypaper/spica) 、それとの差別化を図りたかった (記事: 作問ヘルパーツールvirgo,spica) ま
お知らせ Zennに移植しました。今後こちらの記事は更新されず、Zennの方のみ更新します。 zenn.dev この記事では競技プログラミングと群論に関する解説をします。競技プログラミングの問題を群論という立場から見ることで、新たな視点を得ることができるようになると思います。また、群論の入門にもなればいいなと思っています。 swapと順列 競技プログラミングの問題に、swapと順列は多く登場します。swapとは、2つの要素を入れ替える操作のことです。例えば、次のような問題があります。 第二回全国統一プログラミング王決定戦予選 C - Swaps (問題ページ) $ N $ 要素からなる2つの整数列 $ A_1,\ldots,A_N $ および $ B_1,\ldots,B_N $ が与えられます。以下の操作を $ N-2 $ 回まで(0回でもよい)行うことで、1以上 $ N $ 以下のすべ
これはなに 実装力で戦える! ~競プロにおける実装テクニック14選~ - Qiita に触発された 競技プログラミングでコーディングの際気を付けていること - うさぎ小屋 を強く参考にしている 効果が高い or 一般性がありそう なことから書いたつもり 重要なこと 「競プロのきれいなコードと業務のきれいなコードは違う」と定期的に唱える。未来の自分 or 他の人 が読む必要がないことを仮定できるため、様々なバッドノウハウ(業務)が正当化される。(あえて過激なことを書くと、)「using namespace stdを使わない」などは逆にバッドノウハウ(競プロ)だと思っている。 -fsanitize=undefined,address / -D_GLIBCXX_DEBUG #include <iostream> using namespace std; int main() { int a[10
Time for some more geometry! In my previous post I challenged you to solve Cookie Cutters, which asks us to scale the vertices of a polygon so that it has a certain prescribed area. It’s possible to solve this just by looking up an algorithm for computing the area of a polygon (see the “shoelace formula”). But the way to get good at solving geometry problems is not by memorizing a bunch of formula
時は 2020 年 5 月 3 日。 ここ最近、AtCoder では、「再帰関数を用いた DFS な全探索」というタイプの問題が激増しています!!! AtCoder ABC 165 C - Many Requirements (昨日のやつ) AtCoder ABC 114 C - 755 AtCoder ABC 119 C - Synthetic Kadomatsu AtCoder ABC 161 D - Lunlun Number パナソニックプログラミングコンテスト D - String Equivalence これらの多くは緑後半から水色前半の difficulty を叩き出す、とても恐れられている問題たちです。しかし実のところ、「ちょっと複雑だけど、単純に全探索するだけ」という側面もあります。 これらの出題が最近急増しているのは、おそらくは AtCoder 社側に 最近の AtCo
競技プログラミングの問題を解くためには2つのステップがあります。 問題で要求されていることを言い換える知っているアルゴリズムやデータ構造を組み合わせて解く 必要な(知っておくべき)アルゴリズムやデータ構造は色々なところで学ぶことができます。 しかし、「問題の言い換え」や「アルゴリズムを思いつく」というのは、非常に様々なバリエーションがあり、問題をたくさん解かないとなかなか身につきません。 そこで、この記事は以下のことを言語化し、練習のための例題を提示することを目標とします。 問われていることを、計算しやすい同値なことに置き換える方法アルゴリズムを思いつくための考え方競技プログラミングで「典型的」と思われる考え方 ※一部問題のネタバレを含むので注意 ※良く用いられるアルゴリズムやデータ構造については競技プログラミングでの典型アルゴリズムとデータ構造 を参考にして下さい。 入力の大きさ(制約)
こんにちは、高校 2 年生の E869120 です。 私は競技プログラミングが趣味で、AtCoder や日本情報オリンピックなどの各種コンテストに出場しております。ちなみに、2020 年 2 月 19 日現在、AtCoder では赤(レッドコーダー)です。 今回は、競技プログラミング上達のためのガイドラインを記します。初級編では未経験者が競プロを始めるところからサポートしますので、是非お読みください。 【シリーズ】 レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】 ←本記事 レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】 レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【上級編:目指せレッドコーダー!】 0. はじめに 皆さん、競技プログラミング (競プロ) をご存知でしょうか。
随時募集しています 略称 正称 APSP All Pairs Shortest Path BB Branch and bound BBST Balanced Binary Search Tree BFS Breadth First Search BIT Binary Indexed Tree BM Berlekamp-Massey BM Boyer-Moore BSGS Baby-Step Giant-Step CHT Convex Hull Trick CRT Chinese Remainder Theorem D&C Divide and Conquer DAG Directed Acyclic Graph DEPQ Double-ended priority queue DFS Depth First Search DP Dynamic Programming DST Disjoin
サーバルだよ! 競プロの精進について書くよ。 精進の仕方や、精進に対する考え方はいろいろあるから、あくまで私の意見だと思って読んでね。 ■3行でまとめて ・復習が大事。解けた問題も解けなかった問題も、解説やいろんな子の実装を見てみる ・典型を身につけるのは大事。ABCは解説ACでもいいので解く ・写経はできればしない。一回自分で書いてみてから他の子の実装をパクる ■モチベーションについて レートがついて他の子と競う以上、やっぱりレートが下がると面白くないよね……。 私も最近は下がってこそないけど全然上がらなくて面白くないよ……。 モチベーションが低いときに無理してコンテストに出ても成績は悪くなりがちだから、そういう気分のときはしばらくコンテストに出ないというのももちろんありだよ。 だけど、私には「コンテストに出て悔しい思いをして、解けなかった問題をちゃんと復習する」って方が合ってるから、で
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 基本的アルゴリズム(幅優先探索など)から応用(経路復元、拡張ダイクストラなど)まで、最短経路問題に関するアルゴリズムを総特集しました。 基本的なグラフ理論の用語については、次を参考にしてください。 グラフ理論 用語集 queueなどのデータ構造の用語については、次のスライドの後半を参考にしてください。 C++ STL講習会 by @e869120 最短経路問題とは 一般的に、次のような問題とされます。 $V$ 頂点と $E$ 辺からなるグラフが与えられる。頂点 $u$ と 頂点 $v$ を結ぶパスのうち、重みの総和が最も小さいものはどれ
■「フーリエ変換って知ってる?」 ●「フーリエ変換ですか? 信号処理でもするんですか、先輩」 ■「いや、競プロで使えるようになりたいなって」 ●「ああ、畳み込みの高速化ですか。あれは高速フーリエ変換をそのまま使うだけですからね」 ■「勉強しようと思って色々調べたんだけど、なかなか理解できなくて」 ●「私もうまく説明できるかわかりませんが、お話しましょうか」 離散フーリエ変換(DFT) フーリエ変換の仲間たち ●「フーリエ変換の仲間には色々種類があるんですけど、競プロで使うのは離散フーリエ変換(DFT: Discrete Fourier Transform)ですね」 ■「離散ってことは、連続もあるんだよね」 ●「はい。ざっくり 4 種類あります。フーリエ変換では元の信号を別の信号に変換するんですが、元の信号が周期信号だと変換後は離散信号(数列)になります」 ■「周期信号っていうのは、決まった
■「競プロでのゲーム問題って得意?」 ●「ゲーム問題ですか。ものによりますけど、Grundy 数で解ける問題は得意ですね。先輩は得意ですか?」 ■「その Grundy 数がよくわからないんだよね。最後から逆にたどると解ける問題とかは分かるんだけど、Grundy 数の何が嬉しいのかよくわからない」 ●「じゃあ今日はGrundy数のお話をしましょうか」 Grundy数を扱えるゲーム ●「Grundy 数は、ゲームの局面に非負整数を割り当てて必勝法や勝敗判定を行うというものです」 ■「ゲームなら何でも Grundy 数が使えるの?」 ●「そういうわけではないんですが、競プロで出てくるゲームなら使えるものは多いですね」 ■「何か必要条件があるってこと?」 ●「はい。公平ゲーム(不偏ゲーム)と呼ばれるゲームである必要があります。それにはこんな条件が必要です」 2人のプレーヤーは、terminal p
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く