読者です 読者をやめる 読者になる 読者になる

迷いませんか?

プログラミング、電子工作、ゲーム・・・etc、色々やるけど中途半端なブログです。

SuperCon2016本選

SuperCon2016本選行ってきました

SuperCon2016の予選がなぜか通ったので東工大行ってきました。
チーム名は某某某某です。

1日目

初めての東工大
なんかすごいなぁとしか思えなかったしなんかすごかった
まず、オリエンテーションが始まってPCの使い方講座が開かれる
オリエンテーションを聞きながらこの人だって大学教授のガチプロなんだよな...と考えるなどをした
あんなにiMacあるのは流石国立大学
で、適当に台風がすごかったので朝買ったおにぎりを食べる

課題発表!!!!!!!!!ヒューヒュー!!!!!!!
何が来るんだろうな!?できれば僕がやったことある範囲で解ける奴が良いな!?

_人人人人人_
> グラフ <
 ̄YYYYY

知ってますか?僕は今までTwitterでグラフ苦手、死んでとしか言ってないのにこれです
完全に心を読まれました
すべての人権を失った男になりました

その後はCUDAの講座があって、3時30分から強制休憩タイムがありました
1日目の強制休憩タイム→ 他校との関わりなしw
コミュ力極振りすぎて自分でも恐ろしいけど次の日に期待して終了
この日はWarshall-FloydをGPUで実装することが出来た!やったね!で終わった
あとFloyd-Warshallって資料に書いてたんですけど違和感やばくないですか?
それだったらまだワーシャロイドフローラルの方が語呂もいいしいい香りしそう

2日目

前の日なんか気にしないレベルの晴れ
とりあえず僕は他の人が作った辺から表を完成させる部分を担当してた
1日目はWarshall-Floydで、2048個頂点があった時に500msで終わるぐらいだった(ミリセカンド)
なので資料に載ってた行列積のやつをいろいろ頑張って実装する
妥当な感じで外で回す分だけWarshall-Floydに比例する時間になった
あの資料嘘しかついてない可能性しかない
昼飯を食べにラーメン屋へ行く
昼飯後はとても眠くなってくる
今まで一日中プログラミングをし続けるということがあまりなかったので、こんなにつらいのか... 将来の夢をプログラミングする人から変えようかな...(悩み)変えよう!(決断)となる

資料にはWarshall-Floydよりも早くなることがあるみたいな事が書いてたので、
計算量考えてくださいよそんなわけないでしょ?ってチューターに質問する
「ノーコメントということにさせてくださいw」
死亡
なんかいろいろもがいたけど並列化も早くならないしあの遅さのWarshall-Floydで我慢することにした(敗因の一部)
この時点でわりとソースコードがスパゲティだしいらない関数を消す気力も起きなくなってくる
2日目の休憩タイム
他校ってなんですか?って感じ、僕は部活もあまり言ってないので同じ学校の人とも喋らずTwitter楽しんでた(ROM専だったから許して)

結局諦めきれず行列積の方法を試す
中の3重ループを並列化できるのは良いと思うけどどうしても早くならない
外のループも累乗を効率的に計算するあれを実装して減らせたけどどうせ3重の比例になった、死亡
この頃にはプログラムを書くのに謎の快感を覚え始める

3日目

もうWarshall-Floydでいいや...Warshall-Floydでいいよね?
ここからはどこに辺をつなぐかを考え始める
最初はサンプルプログラムの擬似乱数がシード固定なのでsrandとrandを使うように変える
それで適当にぶん回してみたらサンプル解答に負ける。雑魚
乱択する前に、0->1->2->...->n->0と円を作るようにする
少ししかよくならないし乱択を軽く諦める

学食行ってカツカレー食べる。まあ学校の近くの学食と同じ感じ
3日目の休憩タイム
コミュ力と精神力と体力が消え去っていたのでジュースを注いでお菓子を貪り食い、椅子に座ってた
コミュ力ください...

距離が短い辺を優先的につなぐようにしよ!これは勝ちですわぁ・・・
→ 基本的に辺の結ぶ位置が固まってしまう。負け

まず円に繋いで、Warshall-Floydを繰り返して一番遠いところに辺をつなぎ続けよ!
→ 割といいけど雑魚Warshall-Floydなので時間がとてつもなくかかる
 ものによってはサンプル解答に負けるしサンプル解答強すぎない?

この2つを書いてる時にdouble free or corruptionってエラーが出たくせに配列外参照だったの許さん
配列外参照のせいって見つけてくれたチューターさんガチプロだったしやっぱすごい

最終的に一番いいのはチームメイトの、適当なグラフを作った後に、
適当な二辺を選んで繋ぎ直しまくるという奴になってた。
非常に乱数要素がつよく、なかなか伸びないけどコレにするしかないって感じで終わり

4日目

午前中はプログラムを作る時間なので、3日目に作ろうとしてたのを作る挑戦してた。 チームメイトが作った奴が更に修正されててもっと良くなってた。
もう俺なんもしてないしなんもしなくても良いかなって気分になりつつ、本番楽になるような修正しといた。
やっぱり、minが更新されるたびにファイルに書き直すおかげで、競技時間ぶんまわし続けながらも提出できたの良かった
これ以上は何もしてない、終了

昼飯
サイゼリヤでアラビアータを頼む。
今までサイゼリアで食べた料理はミラノ風ドリア2、アラビアータ2なのでもうドリアとアラビアータ食べる場所になってる
とても出てくるのが遅かったので完全にダメだなって感じになってた
コレが本番の予言なんだなって感じ

本番開始
なんか少し問題のコピーに手こずってスタート遅れる、致命的
とりあえず9問あったから全部TSUBAME上で並列に動かす。
そしてなんかシェルで1〜9までを提出する。
これを一定時間ごとに行ってたら、5分前に自分の順位見た時には、
5位が2つ、4位が1つ、3位が4つ、2位が1つ、1位が1つだったと思う。
この後に提出してくる人たちのことを考えると割と辛かった
それなりに良い結果だけど僕はほぼ何もやってないってのがつらかった....
行列積で早くグラフをできたらまだ活躍!って感じだったけど何もしてないですし...詰み...

この後はなんかインタビューで大喜利テストがあるけどなにも僕はいいませんでした。
雑魚
4日目は割りと早く帰れたので帰りに一人ゲーセンにいった
弐寺の楽しさを再確認しつつ、リフレクでCLASS5どうしても取れず、チュウニで凛花MASクリアできなかった
弐寺で☆6凛花クリア出来たのは割りと嬉しかったけど2級落ちました。
2,3週間やってなかったからしかたないね

5日目

朝ついて席に向かうとTシャツが椅子の上にあった
Tシャツが2つもらえるとかコレもう優勝

なんかいろいろ挨拶がある。
理系系のイベント系なので挨拶は短い系かな?と思ってたけど普通な感じでがっかりした
途中に休憩時間があったけどその時にまでTwitterやってるツイ廃が多すぎて草だった

そしたら競技時間の2時間を2分にして、GUIで見れる感じにしたので結果発表
すべての問題において5位以内に入ってたので実質優勝(2位)
この後表彰があり、1位だけ副賞もらってるし2位とか最下位みたいなもんじゃんって思ってたら
なんかGPUをうまく使えてたってことで奨励賞をもらう
行列積での高速化ができなかったのにもらえたの煽られてる(図書カード美味しい)
まあ図書カードもらえたってだけで優勝でしょ

懇親会
適当にたこ焼きとかたべてシュークリーム食べてケーキ食べたら甘いの食べた影響で辛くなる
関西じゃないのにたこ焼きの消費がくっそ早かったし関東会場だけど関西だったかもしれない
いろいろ食べてたら東工大の人が、3位以内に入った人は推薦受けれるってことを言ってた
調べたら定員十名で科学オリンピックとかからも来るっぽいし死の予感するし、センター試験必要なのも死
このまま今の学校に甘えながら過ごしていく

だいたい食べ終わってる感じのところでじゃんけんで協賛の方々の持ってきたものの争奪戦を行う
リュックとかパスケースとかペンケースとかキーホルダーあったけど手に入らなかった
結局ボールペン2本を手に入れることができた

帰宅する途中で4日目同様ゲーセンに行く with SuperCon Tシャツ
弐寺を楽しんでたら体が軽かったので2級を受ける

流れでリフレクのCLASS5受けたら空腹からの吐き気のような気分の悪さで死にかけてあと少しのところで落ちる
完全に敗北だった

来年は1位になりたい感じもするけどほぼ乱数による運で2位になった感じなので厳しそう
あと1位になったらフリー素材と化してしまいそうなのが嫌で辛い
PCKとかJOI頑張ります

※この記事は1日毎に書かれました

MacでBMSをプレイするときに強制終了するやつ直し方

BMSMacでプレイしたい!!!!

弐寺を軽くゆるくしょぼしょぼと始めました。
となると、BMSで家でも弐寺を楽しみたいけどパソコンがMacしかない...
とりあえずGoogle先生に聞いたところいくつか解説記事があったのでその通り頑張りました。
Mac BMS】とでも検索すれば出てくるでしょう。 基本的にWineをインストールして、LR2をダウンロードして、曲パック配布のところからダウンロードして実行
これで、だいたい遊べるようになったかなーと思ってたんです。
思ってたんです。
おもってたんですよ

一応適当に曲を選べば遊べましたとも、だけどハズレ曲()を選んだらその瞬間LR2が落ちます。
一部の曲を遊ぶときにLR2が落ちることの対策法もLR2版Macで遊ぼう的な見つかったブログに書いてました。
bms,bme,bmlファイルから#BMP〜〜〜となってる行を消せば良いらしいです

消しました
一個一個手作業で消しました
大体1時間かかるか、かからないかぐらいでした
これからも曲を入れるたびにやらないといけないと思うと気が遠くなります
どうもありがとうございました


全部(最後だけ)嘘です
手作業でやるとか頭が沸騰しちゃいそうな人ぐらいしかやりません
しかも使っているパソコンは偉大なるUNIXベースのOSとなればコマンドを使うしかないでしょう
Linuxのコマンドには疎かったので、調べたところある文字列が含まれる行を削除するにはsedを使うとのことで試行錯誤しました
以下が結果です
これを曲のフォルダを入れてるフォルダの中で実行してください。
ムービーを犠牲に遊ぶことができるようになります。
何もしなければムービーも見れて遊べる曲があったのに!という人は諦めてなにもしないでください
全部のゲームと一部の曲のムービーのどちらを取るかです。

find . -type f -name "*.bm*" | while read file
do
  LC_ALL=C sed -i '' -e '/#BMP/d' "$file"
done

そういえばSuperCon予選なにげに通ってました。
平均実行時間200マイクロ秒で通って驚いてました。

テストは死んだ

定期試験終わった

定期試験がようやく終わりました(結果もおそらく終わってる)
ホント辛い
6教科を4日に分けて行われたから、前日の一夜漬けでなんとかなる部分あったけど
緊張感とかが長く続いたから普通にきつかった
テストは数Aの確率と場合の数がクソザコだったからましな程度にはしたい・・・
1~10までのカードが四枚ずつあるとき、4枚引いて順にa,b,c,dとすると、a<=b<=c<=dとなる場合の数を300にしたのはつらい
全大問で最後の設問をほぼ抜かしたので50点が見込みです(^q^)

競プロを蟻本で頑張り始めてるからSuperConとかパソコン甲子園、JOIで本選でたい・・・
蟻本終わらせたらハリネズミ本始めてCTFも並立させたい

MacBookPro買った

高校に受かって入学祝いということでMacBookProを買ってもらった
実際は買ってもらったのでタイトルは詐欺

MacBookPro聞いてたとおりトラックパッドはすごい
なんかリンク飛びまくるだけのネットサーフィンするならすごい楽
そして何に備えたのかわからないけどメモリ16GBにしたので21万円だった
これはつらすぎる

とりあえずSublimeTextを無償で使うのに忌避感を覚えてからVim使ってたので、
環境も新しくなったことだしNeoVimとdein.vim入れました
僕はいろいろ詰まってたけど普通詰まらないと思うから何も書かない
未だこのPCで生産的な作業を一回もしてないのは結構ヤバさを感じてる

Zenfone2のバッテリーバグ?改善してた

Zenfone2をスマホとして買ってもらってたんだけど
表示上は60%ぐらいなのに電源が落ちるバグ?で困っていた。
もちろん充電したらつくし60%ぐらいから再開する。
ネットで調べたらこの症状で修理に出したが代替機もないし,このまま使うことを決意していた
しかし、昨日か一昨日に帰宅中にスマホを弄ってたら40%になってたので試したところ完全に放電させられた。
バッテリーが切れたら充電して電源をONにすることになるので60%以上をキープするようにしてたので気付かなかったが、
今までに2,3回あったシステムアップデートで改善されてたっぽいのでよかった
これからもっと使い倒せるZOI!

あとー数学の本買ったんですよ、初等整数論に関する奴を
だけど虚数の情緒を積んでたことを忘れてたので数学の本が今2つ積まれてます
更にプログラミング本も3,4冊積まれてるのでこれはやばい
とりあえずなんかいろいろやる所存です。

分割数の漸化式がよくわかんなかったから軽く整理した

蟻本つらい!!!!!

蟻本を頑張って進めてますが、DPで漸化式をうまく立てられず苦しんでます
ほんと辛い、なれってわかってるけど慣れる気がしない

そしてさらに分割数とかいう漸化式の解説すらよくわかんない問題が来たので一生懸命考えて軽く整理してみた
基本的には蟻本の解説をかみ砕いていく感じにしか無理です><
 

分割数

まず、蟻本とは逆になるがdp[n][m]をnのm分割とし,
とりあえずdp[0][0]は1とする

ここでは例として5の3分割を考える いくつに分割されているかで分類する

  • 1つ
    • 5 + 0 + 0
  • 2つ
    • 4 + 1 + 0
    • 3 + 2 + 0
  • 3つ
    • 3 + 1 + 1
    • 2 + 2 + 1

このとき、 3分割なので足りない分を0で埋める
そして0がないところに注目してそれぞれの項から1ずつ引くと

2 + 0 + 0
1 + 1 + 0

になる
3つの項から1ずつ引いたので合計は5から5-3=2になっている
そして3つに分割されている
よって元の分割で3つに分割された部分の数は、2の3分割の総数に等しい

残りの部分はそのまま5の2分割の総数に等しくなる
なので漸化式は

dp[i][j] = dp[i - 1][j] + dp[i - j][j]
dp[i][j] = dp[i][j-1] + dp[i-j][j]

urutomさんのご指摘により修正させていただきました。
ありがとうございます!

となる

自分で書いてても意味わかんなくなった

偏差値を半年で(多分)20あげた話

高校合格!!!

関東の国私立高校を3校受けて全部合格しました!!!!
国立と言ってもTKとかそんな最難関ではないし、私立も最難関ではない
はじめは高専に行こうとしてたけど、夏に進路を変更した。
高専志望だったので、おそらく夏のはじめは偏差値40〜50ぐらいだったが、
合格した高校から考えるに偏差値20ぐらいはあがったかな〜という感じなので勉強法っぽいの書きたくなった

半年で偏差値を20あげた話(仮)

完全に上から目線っぽく書くから嫌な人はもうブラウザバックとかして〜

概要

受験した高校は国立と私立で最難関ではないため科目は三科目だった。
夏休み終わってから冬休みまでは遊びまくってたからその間頑張ればな〜
最難関私立とか国立狙えたんだろうな〜〜〜〜〜!!!!!!
もう未練タラタラだから高校生活も大学生活も楽しみまくるしか無い
ほんとこれからの受験生は頑張れって感じ

勉強法

数学
数学は辛い
得意科目って思ってたのに今回の受験で叩きのめされた
基本的なところは抑えてから問題演習をして同じタイプの問題を二度と間違えないようにするべき
これやらなかったら確実に後悔する
解説をしっかりと理解できて何も見ないでもう一度解けるか、どうしてこの解き方になるかわかるまでは反芻しろ

細かい点だと、もう今回の試験の後悔だけど、規則性あるときは文字でおいてみって感じ
(1-1/22)(1-1/32)(1-1/42)...(1-1/9992) ※1/x2はxの二乗分の1という分数
この時、それぞれ計算して(3/4)(8/9)...とかやって規則性探すよりは一般化っぽくして
1-1/a2 = (a2-1)/a2 = {(a+1)(a-1)/a2}ってやってどうなるかを考えるべき
コレに気づけばなぁ・・・今回もっと余裕持てたのに

英語

まあ、高校範囲の文法とかでてくるからそこら辺は頑張れ
SAPIX123+みたいなやつが薦められてた気がする
文法がどういう構造なのかをしっかりと理解すればほぼ行ける
あとは熟語とか構文?高校によっては言い換えも勉強したほうがいい
単語は他のがちゃんと出来てたら意味を類推というか推測というかできるので・・・
一応和訳とか、読解のスピード上げるためにはやっといたほうがいいぐらい
だいたい1800語ぐらいでいけるはず

国語

センス
センスじゃなくてどうにかしたい?
じゃあ ある程度の文法身に付ける→古文がんばる→読解の方法とか書いてる本を読む
国語はなぁ・・・解き方を塾で聴いて、ある程度実践して残りは勘だったのでもう勘です
ポイントは対比を意識するぐらいしか覚えてません

結論

本気で受かりたい人は行きたい高校の実績がすごい塾行け

去年を振り返って

去年は、なんか三年生なって部活終わって、キャーキャー遊んで、
夏休み勉強しまくって、楽しい楽しいセキュリティキャンプに行き、
いろんな人と会い、その後は遊び、冬休みは死にそうになりつつも、
勉強する羽目になり誕生日も自宅で迎えられませんでした。

とりあえず、鉄を熱いうちに打てない時期に参加したのはちょっと間違えたかなーと思ってます。
今も受験終わったらやる気満々だけど、セキュキャン直後ほどではないし…

全体的に辛いことはなかった気がする楽しい一年でした。