White scenery @showyou, hatena

If you have any comments, you may also send twitter @shsub or @showyou.

AtCoder Beginner Contest 121(ABC121)に参加しました

今回はCが楽でしたね。Dも気づけば楽に解けることを後で知りました・・(タイムオーバー)

早く緑になりたいけど、その為には毎回Cが解けるようにならないとなぁ・・

A:

(W-w) * (H-h)

https://atcoder.jp/contests/abc121/submissions/4515073

 

B:

1行ずつ足して0超えるか判定する

https://atcoder.jp/contests/abc121/submissions/4515073

 

C:

コストの小さい方から順に取っていけばOK。A_iはコストの小さい順にソートする。

https://atcoder.jp/contests/abc121/submissions/4520740

 

D:

愚直にxor取ったら当然の如くTLEだった。なんか周期性があるんじゃないかと思っていろいろ探っていたけど時間切れ。

 

解説を読んだところ、

  1. f(A, B) = f(0, A-1) ^ f(0, B)
  2. 偶数xがあるとき、x ^ (x + 1) = 1。よってf(0, y)は 奇数の時(y+1)/2を更に2で割った余り、偶数のときはy/2を更に2で割って、それとyでxor

の二点を使ったところ、すげー簡単に解くことができた。残念。

https://atcoder.jp/contests/abc121/submissions/4529836

会社による本の購入に対するお気持ち

  • 雑多*1な情報が入り混じっているネットに対して、本はある程度チェックが入っているため有用。ただし悪書も当然ある
  • 本は福利厚生。むしろ必要経費?大した額でもないし

福利厚生制度が充実している企業まとめ・成長編 | 就活サイトJobweb

  • 電子版と紙版のどちらが良いかは一長一短。人と共有して読むならDRMとか無いし紙の方がいい
  • 知的労働者に対して知識は資産、投資をケチるな
  • まず業務に直接結びつく本は会社で購入、直接でなくても有用な本も購入。悪書を避けるために、購入申請時に同僚のチェックはあっても良いかもしれない。しかし出来るだけ早めに申請は通すように

*1:というか最近はやってみた系が多いよね

AtCoder Beginner Contest 118(ABC118)に参加しました

A,BだけAC.Cももうちょっと考えればできたんだけどなぁ。。。

 

A

if B % A == 0:
  print(A+B)
else:
  print(B-A)

https://atcoder.jp/contests/abc118/submissions/4279404

B

個数を正直に数える

https://atcoder.jp/contests/abc118/submissions/4282452

C

恐らく約数だろうと思って四苦八苦して、出してみたもののWA.

終わってからreduce(fractions.gcd, A)の1行で済むことに気づいたorz *1

https://atcoder.jp/contests/abc118/submissions/4287847 WA

https://atcoder.jp/contests/abc118/submissions/4292284 AC, 時間外

D

なんかdfsでNを使い切る個数にして、大きい順に取れればいいかなと考えたが、時間内に解けず。

dp・・dpなのか。あとで見直そう。

https://img.atcoder.jp/abc118/editorial.pdf

*1:当然importは必要。atcoderpythonは3.4なのでimport fractionsになる

Sトレイン 豊洲行きに乗った

3/16のダイヤ改正で、所沢発豊洲行きのSトレインが廃止されるので、記念に乗ってみました。(https://www.seiburailway.jp/news/news-release/2018/2019daiyakaisei.pdf)

 

所沢17:20発 - 飯田橋18:04着

 

・・えっと、前後の車両見ても、自分しか乗っていなかったです。途中で保谷からおじいさんが乗ってきましたが、なぜか後者できないはずの石神井公園で降りていきました。恐らく豊洲への送り込みの為に走らせてるんでしょうけども、完全に空気輸送です。

しかも早いかというとそうでもなく、

等の理由で遅いです。こりゃ廃止されるわ。

恐らく夕方下りのSトレインはまだ需要があると思うので、今後は上りは回送か普通列車として送るのでしょうか?

freeeで確定申告をしてきました - 修正申告編 -

http://showyou.hatenablog.com/entry/2019/02/05/213310 で確定申告をしてきたのですが、間違いがあったので先日修正申告を行ってきました。

修正内容

2019年1月に入金された、2018年12月作業分の報酬を入れていなかった

どういうことか?

通常freeeで銀行口座の残高と連動させていると、報酬が「入金された日付」で登録しがちです。しかし報酬は確定された日を基準日として登録しなければならず、12/31分の仕事の報酬はその年(今回の場合、2018年分)として計上しなければなりません。

明確なソースは出せないですが、「確定申告 報酬 年またぎ」等でググると例が出てきます。税務署にも確認を取ったところ、この様に指示が出ました。

 

まあ発生日を自動で判断するのは、さすがにfreeeでもできないのでしょうけど、ちょっと罠ですね(moneyfoward, 弥生は出来るのか知りません)。

Data Pipeline Casual Talkに行ってきた #DPCT

抽選に通ったので、表題のイベントに参加しに、エムスリー社まで行ってまいりました。運営の@tetsuroitoとエムスリー様に感謝。

Tweethttps://togetter.com/li/1318940参照。

あとで細かいこと書くかもしれませんが、軽く感想を書きます。

現場からは以上です。

みんなのプロコン 2019 予選に参加しました

Aが解けず、解説見てもわからず・・何故かCは解けたのですが。と思ったらAは問題読み違えてたことが判明。。。

B

数が小さいので、まず最初に1~4の点に2ポイントずつ与え、経路一つ毎に1ポイントマイナス。一筆書きの場合1点が2個(起点、終点), 0点が2個(中間点)ならば成立。

https://yahoo-procon2019-qual.contest.atcoder.jp/submissions/4212698#

C

最初は条件分けして、for文回して確認していました。

その後で計算式がわかったので、提出しました。

  • まずB-Aが2未満の場合はA個->1円->B個の変換が無駄なのでK+1個が答えに
  • そうでない場合、A個になるまではひたすら増やして、あとは"A個->1円" "1円->B個"を(K - A + 1) ÷2(余り切り捨て) 回繰り返して行けばよい。最後に(K - A + 1)/2の余りがあったらそれを足す。

https://yahoo-procon2019-qual.contest.atcoder.jp/submissions/4212698#