kanetaiの二次記憶装置

プログラミングに関するやってみた、調べた系のものをQitaに移して、それ以外をはてブでやる運用にしようと思います。http://qiita.com/kanetai

UIFont

UIFont一覧 testLbl.font = [UIFont fontWithName:@"Courier-BoldOblique" size:15.0]; とかでUIのフォントを指定できるが、使えるフォントが分からなかったので調べる。 ちなみに、等幅フォントを使いたいならCourierあたりが良いと思う。 for (NSString *f…

iOS ブラウザを開く

safariで開く場合 NSURL *myURL = [NSURL URLWithString:@"http://d.hatena.ne.jp/kanetai/"]; [[UIApplication sharedApplication] openURL:myURL]; これだと、別アプリとして、指定したURLが開くが、 窓内でブラウザを開く方法があると思うので、次はそっ…

MAC/Unix系 コマンド・シェルスクリプト

open open -a <application> <target> #コンソールからアプリケーションを開く open <path> #ファインダーで開く open -e <file> #テキストエディットで開く curl curl <URL> #標準出力 curl -o <filename> <URL> #ローカルにファイル名を指定して保存 curl -O <URL> #URL上のファイル名で保存 curl -L -O <URL> #リダイレク</url></url></url></filename></url></file></path></target></application>…

Doctor's Strange Particles(AOJ No.0131)

リポジトリ Doctor's Strange Particles(AOJ No.0131) のライツアウト アルゴリズム 一番上の行のon, offが決まれば、次の行は、上が1の所をonにしなければならないので、それ以降は一意に決まる。 一番下まで繰り返したとき、最後の行がすべて0になっていれ…

Seven Puzzle(AOJ No.0121), Summer of Phyonkichi(AOJ No.0122), Speed Skating Badge Test(AOJ No.0123), League Match Score Sheet(AOJ No.0124), Day Count(AOJ No.0125), Puzzle(AOJ No.0126), Pocket Pager Input(AOJ No.0127), Abacus(AOJ No.0128), Hide-and-Seek Su

リポジトリ Seven Puzzle(AOJ No.0121) のパズル、0〜7のパネルが与えられて、 0のパネルを上下左右のどれかのパネルと交換して、 0 1 2 3 4 5 6 7 の状態にするゲーム。 与えられた状態から、上の最終状態にするまでの最小の交換回数を求める。 ただし、ゲ…

巡回セールスマン問題(Traveling Salesman Problem)

リポジトリ 巡回セールスマン問題(TSP: Traveling Salesman Problem) 最短ハミルトン閉路(各頂点を1回だけ含む(開始・終了点を除く)閉じた歩道(閉路))を見つける問題 NP困難なため、多項式時間で解けない。競技プログラミングでは、ビットDPによる解法を知っ…

Patisserie(AOJ No.0120)

リポジトリ Patisserie(AOJ No.0120) 半径の丸いロールケーキが個ある()。 これを長さの箱に入れることができるかを答える。 ただし、ロールケーキは箱の底面に接しておき、重ねておくことができない。 また、ロールケーキとロールケーキの間の隙間に小さい…

Xcode

mac

コンソール表示 Xcode / Behaviors / Edit Behaviors… で、 Run starts / Show debugger with Console View とかで設定できる

全点対間最短路(all-pairs shortest-path)

リポジトリ 計算結果(最短距離とバックポインタ) 最短経路はbuildPath()で復元。 /** Results of All-Pairs Shortest Path (APSP) Algorithm */ public static class APSPResult{ private int[][] dist; // dist[d]:= shortest path to d private int[][] …

Rectangular Searching(AOJ No.0116), A reward for a Carpenter(AOJ No.0117), Property Distribution(AOJ No.0118)

リポジトリ Rectangular Searching(AOJ No.0116) Square Searching(AOJ No.0092) と同じような問題だが、縦横がではなく、(H,W)で与えられ、 求めるのは、最大の正方形ではなく、最大の長方形。 制約 アルゴリズム http://www.ipsj.or.jp/07editj/promenade/…

macキーボードショートカット

後から適当に追加してく command + c コピー command + v ペースト command + f 検索 command + Shift + (space + ) 3(4) Macのスクリーンショット機能のキーボードショートカットまとめ(17種類) / Inforati control + command + shift + (space + ) 3(4) …

Doctor's Memorable Codes(AOJ No.0111), A Milk Shop(AOJ No.0112), Period(AOJ No.0113), Electro-Fly(AOJ No.0114)

リポジトリ Doctor's Memorable Codes(AOJ No.0111) 文字→固定長01系列, 可変長(0〜3)01系列→文字列の変換表が与えられて、それに従って、暗号文字列をデコードする。 可変長10系列→文字列の変換表に含まれないものがあれば、残りは切り捨てる。 コード 可変…

mac環境設定

キタ MacBook Pro キタ これでかつる 環境 プロセッサ 2.3 GHz Intel Core i7 メモリ 8GB 1600 MHz DDR3 グラフックス Intel HD Graphics 4000 512MB ソフトウェア OS X 10.8 .zshrc robbyrussell/oh-my-zsh · GitHubが良さそうだったので入れてみた。 参考 …

Sale Result(AOJ No.0100), Aizu PR(AOJ No.0101), Matrix-like Computation(AOJ No.0102), Baseball Simulation(AOJ No.0103), Magical Tiles(AOJ No.0104), Book Index(AOJ No.0105), Discounts of Buckwheat(AOJ No.0106), Carry a Cheese(AOJ No.0107), Operation of Fre

リポジトリ Sale Result(AOJ No.0100) i(社員id),p(販売商品価格),q(販売数)のレコードがn個与えられたとき、 合計売り上げが1000000以上の社員idを答える。 一人も売り上げが1000000以上の人がいなかったらNAと答える。 制約 コード なんかこの問題正解率が…

Square Searching(AOJ No.0092), Leap Year(AOJ No.0093)

リポジトリ Square Searching(AOJ No.0092) の'.'と'*'から成るマップが与えられて、 '.'だけを含む正方形の辺の長さの最大値を求める。 制約 アルゴリズム dot[i+1][j+1] = 四角形map[0][0]〜map[i][j]の'.'の数 とするとmap[i-k][j-k]を左下の頂点とする一…

解いてないやつ(AOJ)

ジャッジできないの Blur(AOJ No.0091) Calculation of Area(AOJ No.0094) Surf Smelt Fishing Contest(AOJ No.0095) Sum of 4 Integers II(AOJ No.0096) Sum of Integers II(AOJ No.0097) Star Sign and Birthday(AOJ No.0098) Score Distribution(AOJ No.0…

Overlaps of Seals(AOJ No.0090)

リポジトリ Overlaps of Seals(AOJ No.0090) n個の半径1の円の座標が与えられ、オーバラップしている円の数の最大値を求める。 接している場合も接点の部分は重なっているとみなす。 制約 アルゴリズム 2つの円を選んで、その交点を求め、交点から半径1以内…

複素数(complex number)

平面幾何の(競技)プログラミングをするとき、2次元ベクトルの代わりとして使えるので便利。 C++ならstd::complexをtypedefしときゃ、演算子を定義する手間が省ける。 回転変換なども、回転の1次変換を暗記しておくより、複素数の極形式で考える方がわかりや…

A Symmetric Point(AOJ No.0081), Flying Jenny(AOJ No.0082), Era Name Transformation(AOJ No.0083), Search Engine(AOJ No.0084), Joseph's Potato(AOJ No.0085), Patrol(AOJ No.0086), Strange Mathematical Expression(AOJ No.0087), The Code A Doctor Loved(AOJ No.00

リポジトリ A Symmetric Point(AOJ No.0081) 2点を通る直線について線対称な点の像を求める。 制約 は互いに異なる は対称軸上にはない アルゴリズム 対称軸//y軸, すなわち、の場合、求める像は 同様に、の場合、求める像は それ以外の場合、まず、対称軸…

魔方陣(magic square)

参考ページ 魔方陣 - Wikipedia http://www2u.biglobe.ne.jp/~zed/m_stitle.htm 魔方陣(magic square) 正方形で縦・横・斜の数字の合計がすべて等しい方陣。 特に、(次)の行列の方陣の要素として()を重複なく使用したものを魔方陣と呼ぶことが多い。 その場…

数値計算(numerical computation)

リポジトリ ニュートン法(Newton's method), ニュートン・ラフソン法(Newton-Raphson method) 非線型方程式の反復的な数値解法の一つ。 もう少し詳しい説明はニュートン法 - Wikipedia。 初期値を与えて、を収束するまで(例えば、増分が小さくなる()まで)繰…

Videotape(AOJ No.0074), BMI(AOJ No.0075), Treasure Hunt II(AOJ No.0076), Run Length(AOJ No.0077), Magic Square(AOJ No.0078), Area of Polygon(AOJ No.0079), Third Root(AOJ No.0080)

リポジトリ Videotape(AOJ No.0074) 標準録画で 120 分のビデオテープがある。テープを完全に巻き戻した状態でビデオデッキのカウンタを 00:00:00 にし、標準録画モードで録画したときのカウンタ値(時、分、秒)が与えられ、残り録画可能時間と、3倍録画モー…

最小全域木(minimum spanning tree)

リポジトリ 全域木(spanning tree), 極大木 : においてとなる辺集合があるとき、グラフが木(閉路を持たないグラフ)であるなら、 をの全域木と呼ぶ。 (全域木が存在することと連結であることは同値) 最小全域木(MST: Minimum Spanning Tree) : 使われる辺の…

Carden Lantern(AOJ No.0072), Surface Area of Quadrangular Pyramid(AOJ No. 0073)

リポジトリ Carden Lantern(AOJ No.0072) 無向グラフとの長さが与えられる。 全ての辺には100メートルごとに、1本の灯篭を立てる。 連結を維持したまま、辺を除いたときの、最小の灯篭の数を求める。 制約 の長さ アルゴリズム 要するに最小全域木の合計コ…

グラフ理論(Graph theory)

(無向)グラフの要素 要素が頂点(vertex), 点(point), 節点(node)の集合 辺(edge)と呼ばれる頂点の順序対の集合 隣接(adjacent) : 辺(u,v)が存在するとき頂点は隣接するという。 接続(incident) : が辺の端点(endpoint)であるとき、はに接続するという。 多重…

Bombs Chain(AOJ No.0071)

リポジトリ Bombs Chain(AOJ No.0071) ボンバーマン、8×8、障害物なし、火力十字3. ボムの位置、爆発するボムの位置が与えられて、爆発後のマップの状況を求める。 intの2次元座標ならjava.awt.Pointを使えばいいのね。 コード import java.util.*; imp…

Rank Checker(AOJ No.0061), What is the Bottommost?(AOJ No.0062), Palindrome(AOJ No.0063), Secret Number(AOJ No.0064), Trading(AOJ No.0065), Tic Tac Toe(AOJ No.0066), The Number of Island(AOJ No.0067), Enclose Pins with a Rubber Band(AOJ No.0068), Drawing

リポジトリ Rank Checker(AOJ No.0061) 整理番号と得点の系列が与えられ、 ある整理番号の順位を答える。 アルゴリズム 整理番号→得点のマッピングを入力し、得点→順位のマッピングを作って答える。 得点→順位のマッピングは、得点を高い順にソートして作る…

平面幾何(交差判定)

リポジトリ TODO: intersect_LS intersect_LP 参考ページ月の杜工房 - 2直線の交点を求める 直線 平面幾何(plane geometory) を使って、直線クラスを作ってみた。(直線(line)といいつつも、線分(segment)としても使うので注意) public static class Line{ pr…

Differential II(AOJ No.0051), Factorial II(AOJ No.0052), Sum of Prime Numbers(AOJ No.0053), Sum of Nth decimal places(AOJ No.0054), Sequence(AOJ No.0055), Goldbach's Conjecture(AOJ No.0056), The Number of Area(AOJ No.0057), Orthogonal(AOJ No. 0058), Inter

Differential II(AOJ No.0051) 8個の数字(0〜9)が与えられて、並び替えてできた数字の最大値と最小値の差を求める。 並び替えたとき0から始まってもよい。 コード char[]にして、ソート→StringBuilder(reverse)→parseIntで最小値と最大値を求めた import jav…

Expression(AOJ No.0041), A Thief(AOJ No.0042), Puzzle(AOJ No.0043), Prime Number II(AOJ No.0044), Sum and Average(AOJ No.0045), Differential(AOJ No. 0046), Cup Game(AOJ No. 0047), Class(AOJ No. 0048), Blood Groups(AOJ No. 0049), Apple and Peach(AOJ No. 00

リポジトリ Expression(AOJ No.0041) 4つの整数が与えられ、 = 10 となる式を1つ答える(ない場合は0を返す)。 ただし、は入れ替えてもよく、()を好きな位置に挿入してもよい。 アルゴリズム の順列(4!=24)と、の重複順列()と括弧の位置(5)を組み合わせて、 …