Pages

SRM148 Div2 1000解いてみた

2013年12月19日木曜日

全通り回している人が多そうだったので、真似してみたら終わらなかった。
何か間違っているのですかね。
Pythonですかね。





-----追記-----
アドバイスを受け、listをsetにしたらあっさり動きました。
おまじない的にlistにしてしまっていた…(´・ω・`)
permutation便利だな〜





pythonで組み合わせ生成

Topcoder SRM148Div2Hardの問題を解こうと思った時に、
Pythonで組み合わせってどうやって作るんだろうなと困ったので、調べてみた。
(まるで他言語だと書けるような言い回しですが、書けません。next_permutationという関数があるらしいということしか知りません。)

How to generate all permutations of a list in Python
このページに書いてあった。

この回答がとってもわかりやすい。


itertools便利だなー
http://docs.python.jp/2.7/library/itertools.html


Fio XBee Config Tool

2013年12月12日木曜日

Fioにプログラムが書き込めない…と思いながら、色々検索していたら
Fio XBee Config Toolなるものを発見。
まだ試していないけど、これでMacからもXBeeの設定が行える…?

XBee通信速度の変更

2013年12月5日木曜日

X-CTUで
Modem Configuration->Read->BD - Baud Rate
で通信速度を変更

参考にしたサイト
http://www.maroon.dti.ne.jp/koten-kairo/works/dsPIC/xbee5.html

XBeeのコツ

2013年12月4日水曜日

コツなのかわからないけど、友達に教えてもらったことをメモ

X-CTUでTest/Queryをクリックしても失敗することがある。
(というか私は毎回失敗する。)
そんな時は、そのままXBeeをXBeeエクスプローラーUSBから抜いてまた挿すと上手くいく

不思議だ。
駄菓子菓子うまくいくのである。
一体何が起きているのだ。


前に書いたQuoを使った自作PCは無事に完成いたしました。
よかった。
怖いので詳しいことは書きませんが、
インストールの時にBIOS(UEFI?)の画面で“Install 〜OS”を選んではいけないというのが重要。
UEFI ディスク名
というのを選べばうまくいく。

初めてのtopcoder

2013年11月29日金曜日

初めてTopcoderに参加してみた!
SRM598!
初めてなので、よくわからないですが、問題はかなり簡単だった印象。
少なくとも、私が練習のために解いてたDIV2 500の問題よりはだいぶ簡単だった気がする。
得意、不得意の問題かな?

そんな感じで、問題が簡単だったこともあり、めでたく(?)緑コーダー(?)になれました(∩´∀`)∩ワーイ



ここで、ID(?)を晒したのは自分にプレッシャーをかけるためですよ!
成長できるように頑張ります…
本当は1000の問題も解かなきゃいけないレベルだった気がする…ぐぅ…

私くらいのレベルでプロコンをやると、Pythonが可愛くて仕方ないですね。
書きたいことがすぐ書ける。素晴らしい。

コードはこんな感じ。
インデントずれてるかも。

DIV2 250

import math
import string

class ErasingCharacters:
def removeCh(self, s):
for i in range(len(s) - 1):
if s[i] == s[i + 1]:
s1 = ""
s2 = ""
if i > 0:
s1 = s[:i]
if i + 2 <= len(s):
s2 = s[i + 2:]
newS = s1 + s2
return newS
else:
return s

def simulate(self, s):
while len(s) > 0:
newS = self.removeCh(s)
if newS == s:
break
else:
s = newS

return newS


DIV2 500

import math
import string

class BinPackingEasy:
def minBins(self, item):
itemList = list(item)
bin = []
itemList.sort(reverse = True)

for i in itemList:
if i == 0:
bin.append(i)
else:
for j in range(len(bin)):
if bin[j] + i <= 300:
bin[j] = bin[j] + i
break
else:
bin.append(i)

return len(bin)

次も頑張ろ(∩´∀`)∩ワーイ
深夜ばっかりなので、いつ参加するかわからないけど…

自作PCにWindowsをインストール

2013年11月26日火曜日

XBEEを使うために、Windowsが必要になる。
駄菓子菓子、教授がapple信者な研究室なので、研究室にwindowsの入ったPCがない。
むむむ
ということで、Virtual Boxを使って、Mac Book Airでwindowsを動かそうとしてみる。
16GBのUSBメモリが必要とのことだったので、かわいいUSBメモリを買ったのですよ。



駄菓子菓子、上手くいかない。(インストールに超絶時間がかかる&&インストール中にフリーズ)


ということで、壊れたまま放置していた、自作PCにwindowsさんをインストールしてみる。

先生が、大きいくせに80GBしかないハードディスクをwindows用にくださった。



自作PCには、ディスクドライブがないので、外付けのディスクドライブをUSB接続で。
駄菓子菓子、
Boot from CD/DVD:
の画面で固まる。何回やっても固まる。
色々ググってみるとドライブが悪いのではないかというページがあったので、
本格的な(?)ドライブを繋げてみる。


いった?と思いきや、


15分くらいこの画面で止まってる。だめぽ。

昨日、先生が買ってくださったどんなOSでも動かせるマザボが届いたので、これを使ってPCを修理するのが早いかな…


windowsの道は険しい…


追記

私が起動ディスクの作成に失敗していただけでした…
すみません(´・ω・`)



topcoderに挑戦してみようと思う

2013年11月14日木曜日

お久しぶりです。
Kadebo と あひるのピアノ のページを作ってみたので、
お時間のある方は見てみてください(∩゜∀゜∩)
みらくる☆けこたん どっと こむ

11月1日まで参加していた3ヶ月のインターンシップも終わり、暇になってきたのでtopcoderに挑戦してみようかと思っております!やっと!
topcoderについてなーんにも知らないのですが、Pythonでやりたいなぁと考えています。
お友達のブログを参考にしながら環境構築

Python対応してるTopCoderプラグインを発見してめちゃくちゃテンション上がってる

これは、エディターなのか…?
よくわからないけど、これだけじゃ参加できないようだ…?
ということで、topcoderにログインしてみる。実は会員登録だけは2年くらい前にしていた。
たった今、隣で友達が登録作業をしているのだけど、なんだか大変そうですネ

色々見てみると、どうやら"Arena"という場所に行かなければならないらしい。
だがしかし、色々サイトの見た目が変わっているらしくArenaが見つからない。
Top画面->Community->Analytics(Marathon)->Competitions->Algorithm->Single Round Matches(SRM)->Launch Arena
でArenaにアクセスできるのかな…?
Mac+Chromeな私はアクセスできなかったのですけど!
こんなブログ記事を見つけた。

TopCoderにブラウザからログイン出来ない場合

やってみた



出来た!(∩´∀`)∩ワーイ
KawigiEditはいつどうやって使うのかまだわかってないけどがんばる(∩´∀`)∩ワーイ



友達の発見

2013年7月19日金曜日

openFrameworksのofImageのtypeがどういう基準で選ばれてるのかわからなかったのだけど友達が気づいた!

pngはOF_IMAGE_COLOR_ALPHAで
jpegはOF_IMAGE_COLORだということに…!


感動した(゜ω゜)(゜ω゜)(゜ω゜)(゜ω゜)(゜ω゜)


※事実確認はしておりません



ofxOpenCVを使ってみる

2013年7月17日水曜日

ぼかしたーい
ということで,ofxOpenCvのblurを使ってみる.

addonsにofxOpenCvを追加すればいけるだろと思ったけど,駄目だった
ぐぐってみたら説明してくれているブログ発見
http://blog.n1n9.jp/how2/ofxcv-opencv.php
projectのBuildSettingsにあるHeader Search Pathsを
$(OF_CORE_HEADERS) "../../../addons/ofxOpenCv/libs/opencv/include/"
に変更する

無事にぼかせた(∩´∀`)∩ワーイ
(中→右がblur適用)

ちなみにこれは,blurの引き数を5にしております



コードは,
testApp.hに
ofxCvColorImage cvOutImage;

testApp.cppの適当な場所に
cvOutImage.allocate(width, height);

cvOutImage.setFromPixels(pixels, width, height);

cvOutImage.blur(5);

cvOutImage.draw(cameraWidth, 0);

を追加したくらい(∩´∀`)∩



openFrameworksのexamplesまとめ4

2013年7月16日火曜日

graphics/IutFilterExample
動画に対していろいろな効果を試せる.






openFrameworksメモ【getPixels】

2013年7月9日火曜日

getPixelsについてメモメモ
2次元配列じゃなくて1次元で取ってくるんですね

以下は,OpenFrameworks doc 日本語訳からの引用です

【ofVideoGrabber】
unsigned char * getPixels();
現在のフレームのピクセル配列ポインタを返します.
データは、RGBで構成され、配列番号は [width*height*3]です.

【ofVideoPlayer】
unsigned char * getPixels();
現在のフレームのピクセル配列,RGB[width*height*3]のポインタを返します.
例:座標(100,20)のRGB値を取り出します.

unsigned char * pixels = myMovie.getPixels();
int widthOfLine = myMovie.width; // 画像の幅
int red = pixels[(20 * widthOfLine) + 100 * 3 ];
int green = pixels[(20 * widthOfLine) + 100 * 3 + 1];
int blue = pixels[(20 * widthOfLine) + 100 * 3 + 2];



openFrameworksのexamples

graphics/blendingExample
色々な効果を試せる.





graphics/colorsExtended
色がたくさん出てくる.
並び順を変えられる.




graphics/graphicsExample
いろいろちかちか




openFrameworksめも

2013年6月11日火曜日

先輩に教えていただいたことをφ(..)メモメモ

プロジェクトの名前をFinderから変更しちゃ駄目
駄目というか色々一緒に変えなきゃだから面倒なことになるのかな?
xcodeprojを開いてから、xcode上でプロジェクト名を変更すると色々一緒にrenameしてくれるっぽい。


openFrameworksのexamplesまとめ3

video/osVideoRecorderExample
動画が作成できる。
左側はカメラに映っている映像。
右側は作成した動画がエンドレスで流れている。
動画は./bin/data/に保存される。



video/osxHighPerformanceVideoPlayerExample
指が動く。
矢印キーで動かせる。
videoPlayerExampleもほぼ同じ。



video/asciiVideo
カメラに映っている映像がアスキーアートになって再生される!凄い!
ミッキーさん♡



【追記】
asciiVideoはマウスの位置によって色が変わるみたい!




openFrameworksのexamplesまとめ2

opencvExample
何故か動かない(;_;)
Buildは成功するのに(;_;)

addons/opencvHaarFinderExample
多分、顔認識



gl/alphaMaskingShaderExample
面白い(´∀`*)
マウスでなぞったところがゼブラ柄(?)になっている!



graphics/color
どんどん色が変わっていく
多分マウスで指している部分の色が拡大されて表示されている。





openFrameworksのexamplesまとめ1

2013年6月4日火曜日

sampleをまとめてるブログがあって、便利そうだったので、私もまとめてみる。


3d/cameraRibbonExample
マウスの動きに沿って線を描く



3d/cameraLensOffsetExample
何が起きてるかよくわからない(´ω`)
でも、顔を認識してくれてて、それに合わせて動いている様子




3d/cameraParentingExample
箱を動かしてる。
視点を変えたり、位置を変えたり、動きを変えたり



3d/easyCamExample
真ん中のカメラっぽいものを動かせる。
カメラを使ってそうなものを。



meshFromCamera
顔(カメラに映っているもの)が面白いことになる。
見事に出っ歯を強調してくださった。





openFrameworks

研究のためにopenFrameworksを始めてみる☆
LionからopenFrameworksのsampleを動かそうとしたら失敗したので、
MountainLionにupgradeした(∩´∀`)∩ワーイ
MountainLionなら問題なく動きました〜
でもLionでも動くらしいです。

早速、先輩に教えていただいたことをメモ

新しいアプリケーションの作り方
of_v0.7.4_osx_release/apps/emptyExample
をコピー
階層の違う場所にコピーしちゃうと動かない?



めも@homebrew

2013年5月28日火曜日

$ brew doctor
を実行すると

Warning: "config" scripts exist outside your system or Homebrew directories. `./configure` scripts often look for *-config scripts to determine if software packages are installed, and what additional flags to use when compiling and linking.

Having additional scripts in your path can confuse software installed via Homebrew if the config script overrides a system or Homebrew provided script of the same name. We found the following "config" scripts:

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config


と出る。
多分、Pythonを入れなおしたのが原因…?
ググった感じ、このwarningで困っている人が多そう。
駄菓子菓子、解決策はよくわからず…

とりあえず、
http://www.verious.com/qa/unexpected-pc-files-setting-up-home-brew/
を参考に、ファイル名を変更してみた。

$ sudo mv /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config.old
$ sudo mv /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config.old
$ sudo mv /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config.old

うーん
とりあえず解決したけど、本当に書き換えてしまって良かったのだろうか…
よくわからないです(TωT)
困った時に戻せるように、めもめも



マキャベリ 新宿店

2013年5月24日金曜日

久々のぶろぐー(∩´∀`)∩
書きたいことは沢山あるのですが、なんだか面倒くさくて書いてなかったのです(´・ω・`)
先輩に「一言でも書いたら良いんだよー!」と言ってもらったので、一言だけ書きに来た(∩´∀`)∩

今日は、なんだか預金口座にお金がいっぱいあったので、小田急百貨店で夜ご飯を食べました
初めてマキャベリ 新宿店に行ったよ〜☆
食べログの点数はあまり高くないけど、とっても美味しかった♡
また行きたい☆


zshと私

2013年1月16日水曜日

今日は久しぶりに研究室サーバ(ubuntu+apache)を少しいじってました。
ユーザを追加したり、
GUIでファイルを動かしたいという意見があったため、Sambaの設定をいじったり。
いじると言っても
/etc/samba/smb.confに
[home]
path = /home
writable = yes
guest ok = no

を書き足しただけですが。
多分、
・homeディレクトリを共有(共有したいディレクトリ名)
・homeディレクトリのパス(共有したいディレクトリのパス)
・書き込み権限を与える
・ゲストのログインを許可しない
といった感じです。

そうしたら、なんだか楽しくなってきて、自分のログインシェルをzshに変えたくなる。
(天才プログラマから頂いたzshrcがあるので、zshだとかわいくなるのです。)
/etc/passwdでbash→zshに変えて、ログアウトして、再ログイン!
と思ったら入れない。
permission deniedみたいなこと言ってくる。
よくよく考えたらubuntuさんにzshインストールしてなかったわ(^q^)
先生に、私のログインシェルを戻してもらって(ログインできないから自分じゃ戻せないw)
ログイン→zshインストール→zshに変更で一件落着。
という大変な1日でした。
素人は素人らしくしないと駄目ですね。


-----------追記(1/17)------------
そもそも /etc/passwd を直接書き換えたのが間違えだったっぽいです(´ω`)
天才プログラマさんによると、chshでログインシェルが変更できるらしい!
試してないですけど!
chshで変更しておけば、zshなんか入ってないですよーってエラーを出してくれそうですね!


香港・マカオ旅行

2013年1月14日月曜日

もう3週間くらい前のことになりますが、
香港・マカオ旅行とっても楽しかったですヽ(´▽`)ノ
1週間中3日くらい体調悪かったけど!

オーシャンパークにいた可愛い動物達♡





美味しい点心♡



とってもたのしかったー!
また行きたい!今すぐ行きたい!