日々精進

aikoと旅行とプログラミング

ジャニオタじゃない人間が初めてジャニーズのコンサートに行った話【Hey! Say! JUMP I/Oth Anniversary Tour 2017 福井昼公演】

普段aikoのライブにばかり行っている自分だが muttan1203.hatenablog.com muttan1203.hatenablog.com 色々あってHey! Say! JUMPのコンサートに行くことになった. www.j-storm.co.jp もともとジャニーズのライブには行きたかったし, ちょうどいいタイミングで…

ISUCONの過去問に挑戦するための環境構築をした

いい感じにスピードアップするコンテストの過去問をやりたい. isucon.net 過去問のセットアップで少々躓いたのでメモ. 環境 MacBook Pro Late 2016 macOS 10.12.6 Vagrant 1.9.7 VirtualBox 5.1.24 Vagrantをインストールする Vagrantを使用するのでインスト…

iTunesの再生回数をAppleScript + Ruby + gnuplotで表示してみる

AppleScriptとRubyを使って, iTunesの再生回数を取得しグラフ化してみた. やろうと思ったきっかけは, 自分がaikoの曲をどれだけ聞いているか知りたかったから. よって, このあと出て来る例はすべてaikoを検索している. developer.apple.com AppleScriptで曲…

OpenCVでボロノイ分割とドロネー分割

OpenCVを使ってボロノイ分割とドロネー分割をした. 実行環境 Windows7 64bit OpenCV 3.2.0 MinGW CLion 2017.1 特徴点の抽出 画像から特徴点を取り出すのに, Shi-Tomashiのコーナー検出法を利用する. void goodFeaturesToTrack(InputArray image, // 入力画…

AtCoder Beginner Contest #61

問題はこちらから abc061.contest.atcoder.jp 問題A : Between Two Integers #include <iostream> using namespace std; int main(){ int a, b, c; cin >> a >> b >> c; cout << ((a <= c && c <= b)?"Yes":"No") << endl; } 問題B : Counting Roads #include<bits/stdc++.h> #define </bits/stdc++.h></iostream>…

aikoのある生活【アルバム編】

aikoという歌手をご存知だろうか. aiko.com そう、あの有名な「カブトムシ」や「ボーイフレンド」を歌っているあのaikoである。 今年の7月でデビュー19周年となるaiko。デビュー当時から変わらない歌や振る舞い、その可愛らしい見た目から今もなお人気のある…

AtCoder Beginner Contest #62

問題はこちらから. abc062.contest.atcoder.jp 問題A: Grouping #include <iostream> using namespace std; int main() { int x, y; int groups[] = {0, 1, 2, 1, 3, 1, 3, 1, 1, 3, 1, 3, 1}; cin >> x >> y; cout << (groups[x] == groups[y]?"Yes":"No") << endl; }</iostream>…

AtCoder Beginner Contest #63

問題はこちらからどうぞ. abc063.contest.atcoder.jp 問題A: Restricted #include <iostream> using namespace std; int main(){ int a, b; cin >> a >> b; if(10 <= a + b) cout << "error" << endl; else cout << a + b << endl; } 問題B: Varied #include<bits/stdc++.h> #define r</bits/stdc++.h></iostream>…

AtCoder Beginner Contest #64

問題はこちらからどうぞ. abc064.contest.atcoder.jp 問題A: RGB Cards #include <iostream> using namespace std; int main(){ int r, g, b; cin >> r >> g >> b; cout << ((r * 100 + g * 10 + b)%4==0?"YES":"NO") << endl; } 問題B: Traveling AtCoDeer Problem #i</iostream>…

Kotlinスタートブックを読んでいくよ【2日目】

第4章 基本的な文法 変数と基本データ型とそのリテラル 型 ビット幅 Double 64 Float 32 Long 64 Int 32 Short 16 Byte 8 Doubleを表現するリテラルは, 123.4e2のような形で表現することができます. 0xを頭につけることで16進数, 0bを付けることで2進数を表…

Kotlinスタートブックを読んでいくよ【1日目】

先日行われたGoogle I/OでKotlinが制式採用されることが発表になりましたね. jp.techcrunch.com ちょっときになったのでKotlinスタートブックを手に入れました. 最初から無理のないペースで読んでいき, メモ代わりにブログを書いていこうと思います. 第1章 K…

【POJ 1862】Stripies

問題 1862 -- Stripies 方針 入力された値を降順ソートする. 質量m1とm2の物体があった時, で求められるので, これを先頭から順にやっていく. コード #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<ctime> #include<cctype> #include<climits> #include<iostream> #include<string> #include<vector> #include<map> </map></vector></string></iostream></climits></cctype></ctime></cmath></cstring></cstdlib></cstdio>…

aiko Live Tour Love Like Rock Vol.8 Zepp Osaka Bayside(6/3) 参加レポート

6/2のLLRに参加したわけですが muttan1203.hatenablog.com チケット譲ってもらえたので6/3も参加することができました. 今回のライブツアーでは名古屋(5/20)と大阪(6/2)に参加したのですが両方共ほぼ同じセットリストだったので, もう1つのほうが聞きたくな…

aiko Live Tour Love Like Rock Vol.8 Zepp Osaka Bayside(6/2) 参加レポート

2017/6/2にZepp Osaka Baysideで行われたaiko LIVE Tour Love Like Rock Vol.8(LLR)に参加してきました.以下ネタバレなので注意. 開演前 今回もまた写真撮ってない. つらいね. 【LLR8リポート9】大阪に戻ってきました!今日からまた2日間よろしくお願いい…

【AOJ DPL1】B: Combinatorial - 0-1 Knapsack Problem

問題 ナップザック問題 | 動的計画法 | Aizu Online Judge 方針 各要素を入れる, 入れないというパターンを試して価値を高める. ただし, すべての商品に対して上のパターンを試すととなるため終わらない. 動的計画法を用いることにより, にまで落とすことが…

【AOJ DPL1】A: Combinatorial - Coin Changing Problem

問題 コイン問題 | 動的計画法 | Aizu Online Judge 方針 動的計画法を用いて解く. dp[i] := i円支払うときのコインの最小枚数 コード #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<ctime> #include<cctype> #include<climits> #include<iostream> #include<string> #include<vector> #include<map> #include<list> #incl</list></map></vector></string></iostream></climits></cctype></ctime></cmath></cstring></cstdlib></cstdio>…

【AOJ 2102】Rummy

問題 Rummy | Aizu Online Judge 方針 数字と記号のペアが与えられるので, 全通り試してセットであるか試す. セットである条件は 3枚とも同じ色であること 番号がすべて同じか連番になっていること(ただし, 8, 9, 1のような連番は認められない) これが3枚3…

【AOJ ALDS1_13】B: Heuristic Search - 8 Puzzle

問題 | アルゴリズムとデータ構造 | Aizu Online Judge 方針 DFSをして正しい並びになったかを判定し, その時のターン数を返す. 探索した盤面はフラグを立てておき, 同じ状態を2回以上探索しないようにする. mapって比較の"<“が定義されてないと使えないの…

【ICPC World Final 2017】E : Need for Speed

問題 Need for Speed – Kattis, ICPC ある区間の距離と移動速度がそれぞれとして与えられる. は実際の速度s+c(cは定数)として表示されている. 実際にかかった時間tが与えられるので, cが何であるかを求めよ. 方針 となったときのCが答えとなる. 二分探索を行…

【AOJ 2015】Square Route

問題 Square Route | Aizu Online Judge 方針 道と道の間隔が与えられるので, 正方形の区画がいくつあるか数える問題 すべてのパターンを試す方法では, となり終わらない. そこで, 辺の長さの全パターンを予め求め, その出現個数を元に計算する.(この場合は…

【AOJ ALDS1_12】C: Graph Ⅱ - Single Source Shortest Path Ⅱ

問題 最短経路 | アルゴリズムとデータ構造 | Aizu Online Judge 方針 隣接行列を用いたダイクストラ法はグラフG=(V, E)においてとなる. 今回はノード数がであるので, 隣接リストを使った実装を行う. 隣接リストでグラフを表現し, 二分ヒープ(priority_queue…

【AOJ 1136】Polygonal Line Search

問題 Polygonal Line Search | Aizu Online Judge 方針 0番目の入力セットと1〜n番目までのセットを比較して同じ形の折れ線であるか判定する. 同じ折れ線であるかの判定は, 以下のいずれかを満たす. xy平面内で回転および平行移動によって(拡大縮小や裏返し…

aiko Live Tour Love Like Rock Vol.8 Zepp Nagoya(5/20) 参加レポート

2017/5/20にZepp Nagoyaで行われたaiko LIVE Tour Love Like Rock Vol.8(通称LLR)に参加してきました. 全開のLLP19も書いたので, これからは書いていこうと思います. 以下ネタバレなので注意. 開演前 写真撮ってない. つらいね. 【LLR8リポート7】名古屋公…

【AOJ ALDS1_9】C: Heaps - Priority Queue

問題 優先度付きキュー | アルゴリズムとデータ構造 | Aizu Online Judge 方針 優先度付きキューを実装する問題 (体がしんどいので元気になったらしっかり書きます許して) コード #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<ctime> #include<cctype> #include<climits> #include<iostream></iostream></climits></cctype></ctime></cmath></cstring></cstdlib></cstdio>…

【AOJ ALDS1_9】B: Heaps - Maximum Heap

問題 ヒープの構築 | アルゴリズムとデータ構造 | Aizu Online Judge 方針 最大ヒープを作る問題 節点のキーが子のキーよりも大きいという条件を満たすものを最大ヒープという. ボトムアップに関数を適用することで最大ヒープに変換する. コード #include <iostream> u</iostream>…

【AOJ ALDS1_9】A: Heaps - Complete Binary Tree

問題 ヒープ 完全二分木 | アルゴリズムとデータ構造 | Aizu Online Judge 方針 完全二分木とは, すべての葉が同じ深さであり内部節点の次数が2であるような二分木である. 節点番号がiであるとき, 親はi/2, 左の子ノードは2i, 右の子ノードは2i+1で求めるこ…

【AOJ ALDS1_8】C: Binary search trees - Binary Search Tree III

問題 二分探索木 削除 | アルゴリズムとデータ構造 | Aizu Online Judge 方針 二分探索木の削除を実装する問題 削除するノードを以下の3つの条件で場合分けし処理を行う. 子ノードを持たない 子ノードを1つだけ持つ 子ノードを2つ持つ 1, 2の場合は対象ノー…

【AOJ ALDS1_8】B: Binary search trees - Binary Search Tree II

問題 二分探索木 検索 | アルゴリズムとデータ構造 | Aizu Online Judge 方針 二分探索木の探索を行う問題 二分探索木の構築(insert)自体は前回のものを流用 muttan1203.hatenablog.com 関数findは, カレントノードがNULLになるまでループし, 値が見つかった…

【AOJ ALDS1_8】A: Binary search trees - Binary Search Tree I

問題 二分探索木 挿入| アルゴリズムとデータ構造 | Aizu Online Judge 方針 二分探索木を生成する問題 ある節点xの左部分木に属する節点をy1, 右部分木に属する節点をy2としたとき, y1のキー xのキー かつ xのキー y2のキーを満たすものである. コード #inc…

【AOJ ALDS1_12】A: Graph II - Minimum Spanning Tree

問題 最小全域木| アルゴリズムとデータ構造 | Aizu Online Judge 方針 最小全域木(Minimum Spanning Tree)を作ろう. 全域木は閉路を持たない木(でいいのだろうか) 最小全域木は, 辺のコストの和が最も小さくなる全域木のこと. 頂点数がであることから, プリ…

【AOJ ALDS1_11】D: Graph I - Connected Components

問題 グラフの連結成分 | アルゴリズムとデータ構造 | Aizu Online Judge 方針 グラフの連結成分(Connected Components)を求める問題. 連結成分とは, 必ずしも連結でないグラフGに対して, その極大連結部分グラフのことをグラフGの連結成分という. G'がGの極…

【AOJ ALDS1_6】C: Sort II - Quick Sort

問題 Quick Sort | Aizu Online Judge 方針 クイックソートはの高速なソートであるが, すべての要素がすでに整列済みの場合など最悪の計算量はである. それを解するため, しきい値(pivot)をランダムに取る, データ列の中央値を取るなどの工夫が必要. 分割統…

【AOJ ALDS1_6】B : Sort II - Partition

問題 パーティション | アルゴリズムとデータ構造 | Aizu Online Judge 方針 iをA[r]以下の数が格納されている終端を示す変数とする. jをpからr-1まで進めていき, A[j]がxより大きければそのまま, x以下の場合はiを1つ進めてスワップする. 最後にi+1とr番目…

【AOJ ALDS1_13】A: Heuristic Search - 8 Queens Problem

問題 | アルゴリズムとデータ構造 | Aizu Online Judge 方針 バックトラック法を用いて探索を行おう. コード #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<ctime> #include<cctype> #include<climits> #include<iostream> #include<string> #include<vector> #include<map> #include<list> #include<queue> #include<deque> #…</deque></queue></list></map></vector></string></iostream></climits></cctype></ctime></cmath></cstring></cstdlib></cstdio>

【AOJ ALDS1_7】D: Tree - Reconstruction of a Tree

問題 木の復元 | アルゴリズムとデータ構造 | Aizu Online Judge 方針 inorderを先頭から見ていったとき, その値をcとする. そのcの位置をpreorderの中から探し, その値をmとする. prem[m]より左側の値はcを根とする木の左部分木, 右側は右部分木となる. そ…

【AOJ ALDS1_7】C: Tree - Tree Walk

問題 Tree Walk | Aizu Online Judge 方針 二分木を実装する. 行きかけ順(Preorder Tree Walk), 通りかけ順(Inorder Tree Walk), 帰りがけ順(Postorder Tree Walk)を実装する. 行きかけ順は, 根(接点)→左部分木→右部分木の順で出力を行う. 通りかけ順は左…

【AOJ ALDS1_7】A: Tree - Rooted Trees

問題 Rooted Trees | Aizu Online Judge 方針 根付き木を実装する. Nodeという構造体を定義しておき, ノード番号(id), 親ノード(parent), 子ノード(child), 深さ(depth)というメンバを定義する. 入力にそって親子関係を構築していく. すべて終わったあと, ro…

【AOJ 1167】Pollock's conjecture

問題 Pollock's conjecture | Aizu Online Judge 方針 動的計画法を使う. nを表現するのに必要な正四面体の数の最小値 としたとき, はとして求めることができる. 1から順番にもとめておき, 入力したnを添え字にしてテーブルを出力する. コード #include<iostream> #inc</iostream>…

【AOJ 1346】Miscalculation

問題 Miscalculation | Aizu Online Judge 方針 ルール1は通常の優先順位(乗算→加算)で演算する. ルール2は左から順番に計算する. ルール1とルール2の結果が等しく, 入力した数字とも等しければU ルール1が入力した数字と等しければM, ルール2と等しければ…

【AOJ 2340】Carpenters' Language

問題 Carpenters' Language | Aizu Online Judge 方針 文法を見てみると, 実は挿入位置は関係なくてかっこの個数だけで判定できることが分かる. 左括弧, 右括弧それぞれの個数を保持しておき, 同じの時はYes, そうでないときはNoを出力する. コード #include<iostream></iostream>…

【AOJ 1249】Make a Sequence

問題 Make a Sequence | Aizu Online Judge 方針 置くたびにm個以上つながっているかを調べる. 縦横斜めの3方向を探索するので, dx, dy, dzという配列を用意しておき3重ループする. コード #include<bits/stdc++.h> #define rep(i, n) REP(i, 0, n) #define REP(i, a, n) f</bits/stdc++.h>…

【AOJ 2165】 Strange String Manipulation

問題 Strange String Manipulation | Aizu Online Judge 方針 S,A,Cを総当りして, エントロピーが一番低くなる場合を探す. 誤差を考えて, epsを足さないと死んでしまう. コード #include<bits/stdc++.h> #define rep(i, n) REP(i, 0, n) #define REP(i, a, n) for(int i = a</bits/stdc++.h>…

【AOJ 1368】Quality of Check Digits

問題 Quality of Check Digits | Aizu Online Judge 方針 4桁の数字(abcd)をループで作る. eを求め, それをチェック関数に投げる. abcdの各桁を0-9の数字で置き換え, 0になったら-1を返す. また, 連続する2桁を交換し(ただし, それぞれが違う文字のときのみ…

【AOJ 1367】Rearranging a Sequence

問題 Rearranging a Sequence | Aizu Online Judge 方針 与えられたM個の値を逆順に出力する. 出力したかどうかを管理しておき, 1回も出力していない場合に限って出力を行う. コード #include<bits/stdc++.h> #define rep(i, n) REP(i, 0, n) #define REP(i, a, n) for(int</bits/stdc++.h>…

【AOJ 2619】Thread Tree

問題 Thread Tree | Aizu Online Judge 方針 木を作って順に辿って出力する. 英語つらいなって思ったけどそんなに難しくなかった.(これは方針ではない) コード #include<bits/stdc++.h> #define rep(i, n) REP(i, 0, n) #define REP(i, a, n) for(int i = a ; i < (int)n </bits/stdc++.h>…

AtCoder Beginner Contest #60

問題はこちら. abc060.contest.atcoder.jp 問題A:Shiritori 文字列A, B, Cが3つ与えられた時, それらがしりとりになっているか判定せよ. #include <iostream> using namespace std; signed main(){ string a, b, c; cin >> a >> b >> c; if(a[a.size()-1] == b[0] && </iostream>…

【AOJ 2565】Broken Audio Signal

問題 Broken Audio Signal | Aizu Online Judge 方針 区間を狭めていって, その区間によって結果を出力する. xが偶数番目のときに上界, 奇数番目のときに下界を決めることができる. xが連続した時はnone, 上界がないなど様々な場合分けがあってとてもつらい.…

【AOJ 2727】M and A

問題 M and A | Aizu Online Judge 方針 SとTの部分文字列を交互に繋げてSを作ることができるか調べる. Sの部分文字列は自明にSに含まれているので, Tの部分文字列を考える. Tの先頭から順に探索し, 部分文字列であるかを試す. (Sの偶数番目と奇数番目をと…

【AOJ 1232】Calling Extraterrestrial Intelligence Again

問題 Calling Extraterrestrial Intelligence Again | Aizu Online Judge 方針 とを満たすp, qを求める. (p, qは素数) エラトステネスの篩を使って素数を生成する. それらを使ってpとqの組を試す. qを求めるループの条件式は, という不等式から, とした. コ…

【AOJ 1241】Lagrange's Four-Square Theorem

問題 Lagrange's Four-Square Theorem | Aizu Online Judge 方針 全部探索する. コード #include <iostream> using namespace std; signed main(){ int n; while(cin >> n, n){ int cnt = 0; for(int i = 1 ; i * i <= n ; i++){ if(i*i == n) cnt++; for(int j = i ; </iostream>…