資料

VSCode で Rust で競技プログラミングをするときの設定

拡張機能と RLS を入れる task の登録 { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "cargo run", "type": "shell", "command": "RUST_BACKT…

lowlink, 橋や関節点について練習

lowlink や橋や関節点について、いくつか問題を解いたのでリンクを貼っておく。 lowlink の説明 kagamiz.hatenablog.comkagamiz 先生による有名記事。大変わかりやすい。 関節点・橋の確認用問題 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=…

フィボナッチヒープ

adventar.org フィボナッチヒープとは この記事ではヒープは最小値を求めるものとします。フィボナッチヒープとは、フィボナッチ数の性質をうまく使ってならし計算量で高い性能を持ったヒープです。 ヒープ フィボナッチヒープ 二分ヒープ 最小値の削除 なら…

Bitbucket サーバーにプッシュされたコードを Jenkins でビルドする

無意味にハマった。 Jenkins 側の設定 とりあえず Pipeline を使っているものとする。「ビルドのパラメータ化」にチェックを入れておくと、外部からのパラメータを受け取れるようになる。例えばパラメータ "branch" を定義していると、Pipeline Script の Gr…

Google Cloud Platform の GPU インスタンスの Ubuntu 16.04 LTS に TensorFlow をインストール

自分用メモ。使っている GPU は NVIDIA Tesla K80 を 1 枚。 # CUDAやドライバ諸々入れてもらう sudo curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb sudo dpkg -i ./cuda-re…

Push-Relabel による最大フローアルゴリズム

はじめに この記事はCompetitive Programming (その2) Advent Calendar 2016 - Adventarの23日目の記事として書かれました。最初に、一般的なフローネットワークについて触れてます。これは始点と終点を除く頂点について、入ってくるフローと出ていくフロ…

C++ (gcc) で 128 ビット整数を使う

128 ビット整数を使いたいけど boost が入ってないので多倍長整数が使いづらいという環境で __int128 なるものの存在を知ったのでメモ。自前でパースとか出力とかを用意するのでやや面倒だが、多倍長整数ライブラリを持っていなくても安心。 #include <bits/stdc++.h> using</bits/stdc++.h>…

RCO アルゴリズムイントロダクション輪読会 26. 最大フロー 1

フローネットワーク 各辺 が、容量 を持つ有向グラフである。入り口 s と出口 t が設定されている。非負の値を取る量 を頂点 u から頂点 v へのフローと呼ぶ。フローは以下の 2 条件を満たす。 容量制限: 全ての に対して、 でなければならない。 フロー保存…

初心者が CODE FESTIVAL 予選突破するには

はじめに この記事は,競技プログラミング初心者が CODE FESTIVAL 2015 の予選を突破して本選に出場するためには,どのような準備をしたら良いのかということを,僕が考えた個人的な記事です.これを読んで行動して酷い目にあっても怒らないでください. COD…

プログラミング入門 6. forループ

この記事は、下記プログラミング入門資料の一部です。プログラミング入門の資料 - 宇宙ツイッタラーXの憂鬱kenkoooo.hatenablog.com for ループとは forループとは、「N回繰り返し作業を行う」ということができるものです。コードとしては以下のように書きま…

プログラミング入門 5. 配列

この記事は、下記プログラミング入門資料の一部です。プログラミング入門の資料 - 宇宙ツイッタラーXの憂鬱kenkoooo.hatenablog.com 配列とは 整数の入れ物を1個作るときは int a; としました。2個作るときは int a; int b; のようにしました。このように入…

プログラミング入門 4. if文

この記事は、下記プログラミング入門資料の一部です。プログラミング入門の資料 - 宇宙ツイッタラーXの憂鬱kenkoooo.hatenablog.com if文 if文とは、「もしAならBをして、そうじゃないならCをする」といった感じの条件分岐をするための機能です。 もしAなら{…

プログラミング入門 3. 文字列の入出力

この記事は、下記プログラミング入門資料の一部です。プログラミング入門の資料 - 宇宙ツイッタラーXの憂鬱kenkoooo.hatenablog.com 文字列の宣言 整数の入れ物aを作るときは int a; でしたが、文字列の入れ物aを作るときは string a; とすることで作れます…

プログラミング入門 2. 入力

この記事は、下記プログラミング入門資料の一部です。プログラミング入門の資料 - 宇宙ツイッタラーXの憂鬱kenkoooo.hatenablog.com 入力 整数の入れ物 a に整数の入力を受け取るには cin >> a; とします。これは入力がなされる前にaが作られている必要があ…

プログラミング入門 1. 環境設定と出力

この記事は、下記プログラミング入門資料の一部です。プログラミング入門の資料 - 宇宙ツイッタラーXの憂鬱kenkoooo.hatenablog.com 開発環境 paiza.ioにアクセスしましょう。デフォルトでC++のコーディングができるはずです。Web-based online coding envir…

プログラミング入門の資料

概要 この記事群は下記イベントで行われる「プログラミング入門」のための資料として作成されました。【初心者向け】 CODE FESTIVAL 予選突破練習会 【非公式】 : ATNDatnd.orgプログラミング初心者が競技プログラミングに取り組むのに必要な、最低限の知識…