Skip to content

Instantly share code, notes, and snippets.

nari n-ari

Block or report user

Report or block n-ari

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@n-ari
n-ari / yield.md
Created Mar 18, 2017
yieldって?ああ!
View yield.md

yieldって?

ああ!

yieldとは

yieldとは、コルーチンを実現するための機能、およびキーワードです。

コルーチンとは

@n-ari
n-ari / 160606.md
Last active Jun 6, 2016
2016 6/06 himajin-contest
View 160606.md

160606 簡易解説

A

連続するjの数、oの数、iの数を求めておきます。j>=o<=iならレベルoのJOI列が生成されます。JOIの順に来ないこともあるのでその場合はちゃんとリセットするように。

@n-ari
n-ari / 160530.md
Last active Jun 6, 2016
2016 5/30 traPcontest
View 160530.md

160530 簡易解説

  • A : 書きます。
  • B : 剰余を取るといい感じになりそうですね。剰余取って0になった場合がコーナーケース。
  • C : 24*60通りしか無いのでboolの配列で持って順にアクセスしてもOK。考えられるパターンが多くなったら配列に入れておいてソートする、set(Java:treeset)といった平衡2分探索木を使う、など。
  • D : 始点と訪問する点をすべて含めた際、Cの形(輪っかの一部が切れてる)の様に訪れるのが最適です。輪っかのどこが切れてるかを全探索し、両端へ行くのにかかる時間をd_l,d_rとすれば、その切り方における最適解は $min(d_l,d_r)*2 + max(d_l,d_r)$ です。
  • E : 4通りの遷移、たかだか8回で解ける、ということから、4^8通り全探索です。再帰で書くと良さそう。ちなみに、同じ操作を2連続でやっても意味が無いので3^8通りには落とせますね。
  • F : 難問です。私は「(0,0)から(i,j)までにどれだけ*があるか」という配列を累積和を使うことで求めておいて、「各(i,j)から高さh,幅wで行けるかどうか」を探索していきます。ここで、hを最大、wを1として探索を初めて、(i,j)から(i+w,j+h)までの*のある数が0になるまでhを減らし、0になったら答えを更新、wをインクリメントする、という尺取法みたいな方法を使いました。計算量はO((W+H)WH)ぐらい。
  • なお、この問題にはO(WH)解法が存在しますが、私はあまり理解していません。以下のリンクを御覧ください。
  • http://judge.u-aizu.ac.jp/onlinejudge/review.jsp?rid=496648&tab=2#
@n-ari
n-ari / cpp-windows-installation.md
Last active Mar 20, 2019
Windowsでg++コンパイラを導入しようの巻
View cpp-windows-installation.md

Windows で g++ を使おう!

結論

「Windows MinGW g++」でググろう.以下は深夜テンションで使い物にならなくなってしまっているが……

例えばこのサイトなんかオススメ.

http://yohshiy.blog.fc2.com/blog-entry-292.html

@n-ari
n-ari / 160526.md
Created May 26, 2016
2016 05/26 traPcontest
View 160526.md

160526

実装系を多めにしてみました。 なお今日はJavaで書いてみました。慣れない。

簡易解説

  • A : 落ち着いて問題文を読んでループを実装
  • B : 1行入力するメソッドがわかれば(C++:getline, Java:nextLine)、文字を1文字ずつ見るだけ。Javaはsplit(" ")で長さを取るだけ。
  • C : ソートします。私はクラスを作ってソートしました(Javaの書き方わからない......)
@n-ari
n-ari / 160518div1.md
Last active May 25, 2016
2016 5/18 div1 traPcontest
View 160518div1.md
@n-ari
n-ari / 160518div2.md
Last active May 25, 2016
2016 5/18 div2 traPcontest
View 160518div2.md

160518div2

入門者向けのセットです。

簡易解説

  • A : 入出力をしっかり覚えましょう。1行出力したら必ず最後は改行を忘れずに。
  • B : while文が想定解です。forでも出来なくは無いですがwhileも使い所によっては便利なのでぜひ使えるように。
  • C : 配列に保存して添字に注意して出力です。末尾に余計な空白は入れないように。
  • D : ほんの少し実装難。boolの配列で持ってるか持ってないかを保存してfor文で回しましょう。
@n-ari
n-ari / abc037.md
Created May 7, 2016
AtCoder Beginner Contest 037 write up
View abc037.md

AtCoder Beginner Contest 037

結構簡単なセットでした。

A

小さい方で割り算してもいいし、割り算した結果の大きい方を取っても良い。個人的には前者。

入出力の体裁をちゃんとすること。あと「混ぜて買っても意味が無い」という点に気付くこと。

@n-ari
n-ari / egypt.coffee
Created Apr 28, 2016
エジプトから来れませんでした
View egypt.coffee
s = """
エジプトから来ました
      /\
     /┳┻\
    /━┻┳┻\
   /┻┳━┻┳┻\
  /┳━┻┳━┻┳┻\
 /━┻━━┻━━/⌒\ \
  ̄ ̄/  ____/⌒\⊃
  (  /
You can’t perform that action at this time.