CSA #50 (Div. 2)

Round #50 (Div. 2 only): https://csacademy.com/contest/round-50
1
satanic@研究💪 @satanic0258

CSA50 A:xとy持って足したり引いたり.|x|+|y|が答え B:7で割ったあまりがある値になるか判定(面倒じゃない?) C:ある1点から他の3点への距離を調べて昇順ソートした時,最初2つが同じかつ最初×√2==最後が成り立つかを調べる(始点は全通り試す) (→)

2017-09-28 02:00:55
satanic@研究💪 @satanic0258

(→) D:順位でソートしてクラスを見ると,1操作で最長増加部分列に含まれる要素を取り除くことが出来る.シミュレーションは遅い(本当か?)ので,先頭からmultisetを持って「クラス[i]未満で最大のもの」があればそれをクラス[i]で置換し, (→)

2017-09-28 02:01:07
satanic@研究💪 @satanic0258

(→) 無ければ新たに追加するようにすればO(NlogN)で答えを求められる.(答えはmultisetのサイズ) E:最適な順列は,n/2より大きい要素をA,n/2より小さい要素をBとすると,(n/2)ABAB…AB(n/2+1)か,この逆のものとなる. (→)

2017-09-28 02:01:13
hamayanhamayan @hamayanhamayan

はてなブログに投稿しました #はてなブログ Min Swaps [CSAcademy #50 E] - はまやんはまやんはまやん hamayanhamayan.hatenablog.jp/entry/2017/09/…

2017-09-28 02:01:17
satanic@研究💪 @satanic0258

(→) A同士,B同士はswapしてもコストが変わらないことに注意.このことから,まず端へn/2とn/2+1を動かし,その後Aの所にBがあるようなもの(またはその逆)をカウント,最後に2で割ると答え(逆もやり小さい方を答える)

2017-09-28 02:01:25
pekempey @pekempey

久々にhaskell書いたら悲惨だった

2017-09-28 02:01:37
とーらす🌸📦🌕✨🍀 @torus711

やったこと A: 軸ごとに計算して絶対値の和 B: リアル日付使える言語でインチキ.適当な年の元旦から,閏年でなく曜日が合う年まで next_year → 一年回す C: いくつかライブラリ貼って頑張る

2017-09-28 02:02:35
~ @kosakkun

E なるほど, 分けて考えるのか.

2017-09-28 02:04:03
とーらす🌸📦🌕✨🍀 @torus711

やったこと D: 順位順にクラスを並べた列で考えると,狭義単調増加な部分列に入ってる人は全員勝てる.なので,そういう風に分割すると考える.先頭から舐めつつ構築中の部分列の末尾だけもって,「自身未満の最大値」が末尾の部分列にくっつけていく.存在しないなら一本増える

2017-09-28 02:05:00
~ @kosakkun

前から見て行った場合何が引っかかるんだろ.

2017-09-28 02:05:08
kmjp @kmjp_pc

B問題、なぜか毎月の日の数を書き間違えていて時間を溶かした。

2017-09-28 02:05:25
hogeover30 @hogeover30

初心を忘れないおじさんだからnext_permutation前にソートを忘れた

2017-09-28 02:07:39
satanic@研究💪 @satanic0258

B適当に書いたのにWA出なくてビックリした

2017-09-28 02:08:12
hogeover30 @hogeover30

Congratulations! Your rating has increased by 17 points 😄

2017-09-28 02:10:39
とーらす🌸📦🌕✨🍀 @torus711

久しぶりに Ruby を書くとき毎回 if hoge do って書いて end 拔けと言われるのをやるのでアレ

2017-09-28 02:11:32
とーらす🌸📦🌕✨🍀 @torus711

書き忘れ.更新は末尾がこの条件を満たすものの内で最大値をとるところにやると最も損しないので,そうする.末尾のリストを昇順に持っておくと更新後も昇順のままで,増えるときは先頭に最小値が入ることになるので deque で二分探索 or push_front

2017-09-28 02:13:43
satanic@研究💪 @satanic0258

div2レートのときにこの順位出したらどのくらいレート上がるんだろう

2017-09-28 02:14:08
niwatori @tomatobokujo

E問題解けなかった;q; (2通りしかないと思って無事死亡)

2017-09-28 02:15:24