2012年1月24日火曜日

こばらじ新年会まとめ


こばらじ新年会(改) - ATND

箇条書きのように思い出したことを書き殴ってます
文章がごちゃごちゃしてるのはいつものことなので頑張って読んでください





9:25上野着それから秋葉原へ移動

おいどんさんとは改札でて数秒で合流
ドンキ上のゲーセン待機しようと思ったらとなりのパチ屋に行列ができてて屋根下確保できなかったからタイトーへ移動

タイトーうるさい
おいどんさん指結構うまい


11:00頃
若干手こずりながらこばとか神白さんとかありすさんとかと合流。
ありすさんとあったときは「女性ですか?」って聞くのが定番らしい。
合流後にとりあえず昼ごはんをということでマックへ。

ブルーベリークリームチーズパイがマジでうまい


13:00頃
カラオケ館へ移動。
アニメボカロムーディ勝山ボカロアニメボカロボカロくらいの勢いで歌ってた。

一人だけハイレベルな人がいてがくぶる

14:00頃にまなさんが合流
噂のそらんさんとテトリスのペアプロしたらしい

通りでドヤ顔で「ペアプロしましょう!!!!」って言ってたわけだ

おいどんさんがもってきたねこみみをつけるも、ずり落ちるから投げ捨てた


16:00頃
カラオケのキューを消化しきれずに退室

夕食はアキヨドのどっかで食べようということで移動。

箸で食べるスパゲッティで有名らしい五右衛門で食べる。
べるすさんがここらへんで合流

4sqしたらいしだいさんが食いついた


いしだいさんが食いついてる釣竿のリールを引きつつヨドバシを徘徊。

自分の地元じゃなかなか見られないメカニカルキーボードを物色。
青軸は音がうるさい以外は最高!!!!


こばがこばらじ用にマイクを購入してたり、
iPadに入ってたjubeatをしてたら画面が180度回転してスーパーハードモードだったり。

そしてアキヨドをそろそろ出て解散する空気。

いしだいさんをいい感じに引きずりつつ解散。


解散して小さいグループに分かれた頃、
いしだいさんをついに釣り上げることに成功。


2010年8月のSecurity.GS Fes振りの再会・・・・
だけどなんか怖くなってるなにこのひと・・・


19:00頃
とりあえず喋るのに外じゃ寒いしサイゼリヤへ移動。
自分たちの直前に来た人が書いてた席待ち用名簿に超厨二ってる名前が書いてあって全員で苦笑い


気がつくといしだいさんがこっちみてる<●><●>

いしだいさん「ねぇねぇれっくすくぅーん><」
(甘えてほしそうにこちらをみている)

これがいしだいさんの正体だった!(※ただしショタに限る)

よく考えれば至って通常運行だから感覚が狂ってしょうがない



帰るちょっと前になった頃に神白さんがショタ似顔絵書いてくれた
結構いい感じで次期アイコン候補
だからショタじゃ(ry
※かわいい



上野20時発の電車に乗れるように20分前にサイゼリヤを出て上野に向かった気がするんだけど気がついたら上野駅構内ダッシュしてた。東京怖い。


2012年1月1日日曜日

2011年12月31日土曜日

3分今年反省クッキング


2011年の反省を書くから3分間読んでくれ!


1月:ぎぶまっく優勝した。私立入試うけた。
2月:推薦入試うけた。推薦入試おちる(想定済み)
3月:一般入試うけた。MBA届く。東京いく。卒業した。高校受かった。地震起きる。死ぬ。生き返る。
4月:入学前の課題が終わらない。余震起きる。
5月:誕生日。iMac買う。お金がなくなる。
6月:しらね
7月:こば の だいばくはつ !!
8月:東大凸した。ラボ凸した。UEI凸した。課題に追われた。
9月:ラボが爆発した。こばの文化祭いって金がなくなる
10月:歩いた。模試に追われた。課題に追われた。
11月:課題に追われた。テストに追われた。
12月:課題に追われた。テストに追われた。


あれ・・・どんどん社畜ならぬ学畜になってる・・・?
なんかあったらたします。
2011/12/31 23:38 9月変更

2011年12月29日木曜日

SRM 528結果


Easy(250): 183.84
Medium(500): Challenge Succeeded
Hard(1000): Opened
Challenge: +100 - 25 = +75
Total: 258.84
Rating: 863 -> 902 (+39)

ついに緑に戻って来ました!

今回はとんでもないチャレンジ回。
Easyはバグ埋め込んじゃって探すのに時間が掛かって死にました。
Mediumにひっかけが多すぎてやばかった。
サンプル通れば後はTLEだけ気にすればいいと思ってた自分がいました。


250:
#include <string>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <set>
#include <iostream>
#include <sstream>
using namespace std;
class MinCostPalindrome {
  public:
    int getMinimum(string s, int oCost, int xCost) {
      int cost = 0;
      for (int i = 0; i < s.size(); i++){
        char A = s[i];
        char B = s[s.size() - i - 1];

        if (A == B && A != '?') continue;

        if (A == '?'){
          if (B == 'o'){
            cost += oCost;
            s[i] = 'o';
          }else if (B == 'x'){
            cost += xCost;
            s[i] = 'x';
          }else{
            int m = min(oCost, xCost);
            cost += m;
            if (m == oCost) s[i] = 'o';
            else s[i] = 'x';
          }
        } else if ((A == 'o' && B == 'x') || (A == 'x' && B == 'o')) return -1;
      }
      return cost;
    }
};

500: (コード未修正)
#include <string>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <set>
#include <iostream>
#include <sstream>
using namespace std;
class Cut {
  public:
    int getMaximum(vector <int> eelLengths, int maxCuts) {

      int res = 0;
      int cur = maxCuts;
      for (int i = 0; i < eelLengths.size(); i++){
        if (eelLengths[i] % 10 == 0){
          if (eelLengths[i] / 10 - 1 <= cur) {
            res += eelLengths[i] / 10;
            cur -= eelLengths[i] / 10 - 1;
          }
        }
      }

      for (int i = 0; i < eelLengths.size(); i++){
        if (eelLengths[i] % 10 == 0) continue;
        int m = eelLengths[i] / 10;
        if (m <= cur){
          cur -= m;
          res += m;
        }else if (cur > 0){
          res += cur;
          cur = 0;
        }
      }
      return res;
    }
};

このコードは多分{10, 30}, 1で落ちます。
(10の倍数の処理に問題がある)


今回の自分的にChallengeで気になったポイントは、

  1. 10の倍数は切る回数が少なくて済む場合があるから別ルーチン
  2. {30, 20}, 1のような場合に30を切ってしまうと結果は1で終わるが20を切ると結果が2になるので実はeelLengthsは昇順ソートが必要
の2つです。
自分は1で2人落としましたが2がわかっていればもっと落とせたような気がします。



以上、チャレンジ回の報告でした

2011年12月24日土曜日

SRM 526.5 Div2


Easy(250): 198.90(再提出1回)
Medium(500): 331.95
Hard(1000): Opened
Challenge: 1 miss
Total: 505.85
Rating: 713→863(+150)
Div2内:69位

問題見落として再提出しちゃったりゴールドバッハの予想しらないで適当にChallenge爆発しちゃったし反省が多いSRMになりました


250:
#include <string>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <set>
#include <cmath>
#include <iostream>
#include <sstream>
using namespace std;
class MagicStonesStore {
  public:
    bool isPrime(int n){
      if (n == 1) return false;
      bool flag = true;
      for (int i = 1; i < sqrt(n); i++){
        if (n % i == 0) flag = false;
      }
    }

    string ableToDivide(int n) {
      if (isPrime(n)) return "YES";

      for (int i = 2; i < n; i++){
        if (isPrime(i) && isPrime(n-i)) return "YES";
      }
      return "NO";
    }
};

// Powered by FileEdit
// Powered by TZTester 1.01 [25-Feb-2003]
// Powered by CodeProcessor


500:(NMAXの残骸は気にしないこと)
#include <string>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <set>
#include <cmath>
#include <iostream>
#include <sstream>
using namespace std;
#define NMAX 1000000001;
class MagicCandy {
  public:
    int whichOne(int n) {

      int i;
      int count = 1;
      for (i = 1; i < n;){
        if (i + (int)sqrt(i+count) <= n){
          i += (int)sqrt(i+count);
          count = (int)sqrt(i+count);
        }else break;
      }
      return i;
    }
};