サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
おみそ汁
pakapa104.hatenablog.com
この記事は Competitive Programming Advent Calendar 2016 3日目の記事として書かれました。 競技プログラミングを始めてちょうど1年くらいになるので、今までやってきたことをまとめてみようと思います。 これから競技プログラミングを始める人の参考や、既に競技プログラミングをやっている人の昔を思い出す材料にでもなれば幸いです。 と言いつつほとんど日記なので、お正月によくある1年をまとめた特番的なアレだと思ってまったり読んでください。 これを書いているのは現在青くらいの人です(競技プログラミングはyurahunaという名前でやっています) 目次 振り返り(2015年12月~2016年11月) 成果(レーティングとか解いた問題数とか) 最後に(ポエム) 2015年12月 研究室でデータ分析のためにPythonを身に着けないといけなくなった。 本を読むだけだと
この記事は「競プロのための正規表現」と題し、競プロに頻出の文字列の問題を正規表現でさくっと解けるようになろう!という目的のために書かれた記事、を、いつか書くためのメモです。 実際のコードも載せているので、「正規表現ってなんですか><」「競プロで正規表現って使えるの?」という人には感覚はつかんでもらえるかと思います。 競プロで使いそうな正規表現 正規表現ってなに?って人はここを見るとよさそう↓ サルにもわかる正規表現入門 http://www.mnet.ne.jp/~nakama/ qiita.com よく使いそうなものだけまとめておきます。 正規表現 意味 '.' 任意の1文字 '*' 直前の文字の0回以上の繰り返し '+' 直前の文字の1回以上の繰り返し '?' 直前の文字が0回or1回 '[ ]' [ ]内の文字列のいずれか '^' 正規表現の最初で用いた場合: 行頭を示す それ以外:
蟻本2-6章を読んで素数・約数系のライブラリ的なものができたのでまとめておきます。説明は全部蟻本にあるぞい。 【なかみ】 gcd(a, b): aとbの最大公約数 lcm(a, b): aとbの最小公倍数 extgcd(a, b, &x, &y): ax + by = gcd(a,b) の解(x,y)を得る(拡張ユーグリッド互除法) is_prime(n): 素数判定 vector divisor(n): 約数のvectorを返す map<int, int> prime_factor(n): 素因数分解(25*32 = {2:5, 3:2}みたいな感じで返ってくる) sieve(n): エラトステネスのふるい(nまでの素数表を作る) count_prime(a, b): [a, b)内の素数の個数を返す mod_pow(x, n, mod): xn % modを高速演算 getFib(k)
Union-Find木を勉強するために使ったサイトと例題をまとめておきます。 「Union-Find木って何?」「とりあえずUnion-Find木を使えるようになりたい!」という人向けです。 Union-Find木とは? Union-Find木はグループ分けを管理するデータ構造です。各グループを木構造で表現することで以下の2つが高速に可能になります。 要素x, yが同じグループに属するかどうかの判定 要素xの属するグループと要素yの属するグループの併合 ただしUnion-Find木は、「併合」「追加」はできても「分割」はできません。ここ注意。 詳しくは↓の解説スライドを読みましょう。これを読みながら実装すると問題が解けるようになっています。 B: Union Find - AtCoder Typical Contest 001 | AtCoder ただし↑のUnion-Find木はあくまで
このページを最初にブックマークしてみませんか?
『pakapa104.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く