programming

Google Code Jam 2010 Qualification Round

参加しました. 先に言い訳をしておくと,酔った頭で寝起きに解いた上に, 久しぶりのプログラミングだったのでぼろぼろでした. Google Code Jam Code Jam Statistics (2016) ちゃんと問題を読まずに10^8だから32bit-intでいけるギリギリなんだなと思ってた…

J言語 基礎最速マスター

Project Eulerなどで妙に人気がある言語で前々から気になっていたので,勉強がてら書いてみる. まだ誰も書いてないみたいだし. 他の言語については(基礎|変態)文法最速マスターシリーズのまととかを見てください.※初心者なので間違え注意.指摘をお願いし…

基礎文法最速マスターシリーズ

最近すごく流行ってるらしい. おなかすいたWiki! 基礎文法最速マスター よくまとまっているので,これだけ読めば基礎は一通りできるようになる. Java変態文法マスターとか...

明治ブラックチョコパズル

研究室にあったパズルを崩したら戻せなくなったので仕方なく全探索のプログラムを書いた.明治ブラックチョコパズル出版社/メーカー: ハナヤマ発売日: 2006/01/20メディア: おもちゃ&ホビー購入: 3人 クリック: 21回この商品を含むブログ (5件) を見る impo…

連立方程式

ちょっと連立方程式を解きたいときに計算してくれる電卓のようなものが欲しかったので作った. http://yambi.mydns.jp/simuleq.html ガウスの消去法とかを自分で実装するのは面倒だったのでjavaの科学計算用ライブラリjscienceを入れてFloat64Matrixを使った…

Google Code Jam 2009 Round 2

ひどすぎた.Dを見てバイナリサーチを思いついたので,まずこれを解こうとする. スプリンクラーを置くべき位置はミンコフスキー和をとった円の交点(または円の中心)とすればよいはず. 30分ぐらいでとりあえずできるもサンプルと答えが合わない. 調べて…

ビット演算

少ししか使いこなせてないから勉強する. 基本演算 AND & OR | XOR ^ NOT ~ 左シフト 右シフト(左端はその時の最上位ビットと同じ符号で埋める) >> 右シフト(左端は0で埋める) >>> 小技 xを2^n倍する x << n 右からnビットを立てる(00001111) (1 << n) -…

線形計画ソルバー

google code jamの過去問を解いていたら線形計画のソルバーが欲しくなったのでlp_solverを入れてみた.入れ方は sudo apt-get install lp-solver ハイフンに注意 lp_solverを使えば,例えば のような線形計画問題を解きたいときは max: 20 x + 30 y; x + 2 y…

Google Code Jam Round 1A

Google Code JamのRound 1Aが日本時間で今日の朝10時から12時30分まで行われました. 結果は49点で281位でした.点の割には順位はひどくなかったので驚きです. とはいえ,あまりにひどい内容で自己嫌悪. A. Multi-base happiness ちゃんと読まずに「各桁を…

Union-Find data structure

次の2つの操作を高速で実行することのできるデータ構造にUnion-Findと呼ばれるものがある. Find: どの集合に属しているかを決定する. Union: 2つの集合を1つにする. 聞いたことはあってもきちんと理解していないので少し勉強してみる. 実装 とりあえずja…

Google Code Jam 2009 Qualification Round

トラブルがありましたが無事終了したみたいです.開始は日本時間で昨日の朝8時からでしたが,寝坊して8:30頃に起床して解きました. Google側のトラブルのために入力ファイルが10:30ぐらいまで落とせずに苦労しましたが,149位でした. (修正中で提出でき…