お前、復活したんか!
Posts by 紫前燈太
差が900?やりすぎでは?
#ABC454 メモ
ABCDE 5完 45:34
緑パフォは未来へのロイター板。
A:ひきざん
B:服のリストを作り。被りがあるか、不足がないかを調べる。
C:A→Bへの有向グラフとみなしてDFSでもBFSでも。
D:(xx)をxxに変える操作を両方の文字で行って同じになったらYes。
削除はstackで行うのが吉。
E:nが奇数。A+Bが偶数なら達成不可能(チェス盤みたいに色分けするやつで証明可能)。そうでなければ2列ずつ雑巾がけみたいに進める。
F:ちょっとリッチなDP作れば行けそうよね。
3690位から446位の大躍進!
逆にここ2か月の燻りは何だったんだ?
ちょっと今回ひどすぎて笑いが止まらない。
助けてほしい。
#ABC453 メモ
ABC 3完 12:12
抜けられない泥沼。絶望の46秒。
A:先頭がoである限りはじく
B:保存した温度と丁寧に比べる。
C:小数がめんどいので全てを2倍。bit全探査で右に行くか左に行くかを試す。
D:[x座標][y座標][入ってきた方向]をもって幅優先探索。あとは到達したところから経路復元をするだけ。なんですよ。本当に。何やってるんですか。46秒後にACって何ですか。反省してください。
E:二項係数をうまくやれば行けそうだなって思いました。解説を見るとものすごく上手くやってました。
これ緑パフォじゃない...
マジで原因を特定せねば...
#ABC452 メモ
ABCD 4完 28:47
季節の変わり目。風邪コーダー。
A:丁寧に場合分け
B:forループで端か端じゃないかで場合分け
C:i番目においてもいいアルファベットをリストアップ。その後長さNの文字に対して順番にチェック。
D:i番目から始めてj番目から部分列になるなら(j-i)文字はOKになる。
ので1番目から順に二分探査とかでチェック。
E:式変形一本勝負だから飛ばせばよかった。
F:尺取りを使えば上手くいくんじゃないんですか?向き合えばよかった。
ずっと上手くいかない。
そろそろ5完したい。
AWC何回やっても50位(±5)になるのなんなん?
来週は参加できないので3月は-55が確定しました。
なんか恐ろしく調子の悪い月だった。
E問題upsolved
というかこの段階でも誤読発覚。
×S(n) = S(n-2) + S(n-1)
〇S(n) = S(n-1) + S(n-2)
誤読に気づけば気づくほどどんどん問題が簡単になっていく。
何ハードモードやってんだよ。
#ABC450 メモ
ABCD 21:23 4完
誤読で難易度爆上がり。
A:言われた通りに
B: forループで全パターン
C:丁寧にBFSとかで塗りつぶし
D:どうやっても範囲はK以内。余りをソートして小さいものから順に差を取りKを足す。
E:1時間半溶かす大誤読。S1~すべてを足し合わせた文字列で実装。
S(10^18)だけを見ることに気づいた時にはもう手遅れ。
久々にやらかした。
3月だけでどれだけレートを落としたんだ...
ワンチャン全完セットじゃん。
辛い。
というか答えが32bit超えることに気づかず2ペナ出してるのもよくない。
全体的にケアレスミスが目立つなぁ。
#ABC449 メモ
ABCD(2) 4完 41:54
EかFか2択を外す男
A:円周率の値を拝借
B:言われた通りに分割
C:各文字ごとに範囲内のアルファベットを二分探査で数える
D:x = -10^6の時から範囲内の点を力技でカウント。yでも同じく。
最終的に2回カウントする角を引く。
E:苦手そうと思って飛ばしちゃった。要するに[0個以下の集合][1個以下の集合]....と繰り返すのでいい感じに早く見つければいいはず。
F:得意そうと思って沼っちゃった。要するに黒を含む長方形の数を引けばよかったんですが。
最近上手くいかないね。
少し基礎をやり直そうか。
#ABC448 メモ
ABCD 4完 23:57
巨大数の壁は厚い。
A:ややこしいが、言われた通りに
B:上限まで使うか、使い切るか。
C:どうせ5個しかとらないのでトップ6だけ確認。
D:とりあえず数値を圧縮したうえでシンプルにDFS。
E:ダブリングで高速に求めたかったんです。
F:Mo’sアルゴリズムの雰囲気を感じたが勉強途中なので...
Eってそんなに簡単ですかね?
とりあえず私は巨大数に弱い。
電車のモニターに表示されているニュース。
花粉の飛散量がイラストで描かれているが、結局多いのかわからない。
ギブミー文字情報。
包除原理を学んだ。応用が利きすぎる。
ShizenさんのAtCoder Beginner Contest 447での成績:674位
パフォーマンス:1744相当
レーティング:1563→1582 (+19) :)
Highestを更新しました!
#AtCoder #ABC447 atcoder.jp/users/Shizen...
次回600位代なら入青あるぞ!
後1時間あればG問題解けたかもしれない。
正直悔しさより解けるかもしれないという希望に嬉しさを感じる。
あと、あまり実感はないが得意なセットだったっぽい。
グラフ問題で差を付けたい。
E:とりあえずコストの大きい順に連結成分が2になるまでくっつける。あとはつなぐべき頂点が同じグループならつなげて、そうでなければ繋がない。
あとは、繋がなかったコストを足し上げる。
F:シンプルに下からDFSをする。それぞれの頂点に「現在のコンボ、最大コンボ」の2つを持って置き、出次数が4以上、3、2以下で分けながら、現在のコンボ数と、最大コンボを更新する。
G:なんか解けそうな気がする。
前からと後ろからで2組のトップ3を場所ごとに求める。
それを踏まえて前からと、後ろからでトップ2を求める。
これでかぶりとか、どうにかなっちゃいそう。
(以下感想)
#ABC447 メモ
ABCDE(1)F(1) 6完 2ペナ 78:03
【検証】625点問題は捨て問なのか?
A:(n+1)/2以上か否か。
B:文字ごとに出現回数と最大値をメモして最大値以外を出力。
C:とりあえずAを無視してそれ以外をピックアップ。これが一致しないなら論外。
"_X_Y_Z_"と抜き出した箇所に隙間を作りそこにAがいくつあったのかを数える。操作の回数は「場所の個数の差」の和。
D:先頭のAからできるだけ近いB、そのBにできるだけ近いCを消す。
(続く)
全く無策のARCだったからunrated参加だったけど、rated参加だったら入青してたっぽくて笑うしかない。
今後、レートを伸ばすにはARCあ避けて通れなさそうだな。
F:いったん頂点1から進めることで、その頂点に行けるようになる最小の頂点番号が求まる。この時そもそもいけないならそれ以降は全部-1。
全部行けるようになる最小頂点番号が自分以上でもー1。
後は自分の番号から行ける大きい番号をsetで管理して出力。
何とか6完をもぎ取った。
さすがにrate伸びてください。お願いします。
#ABC446 メモ
ABCDEF(2) 6完 2ペナ 94:30
漸化式のお勉強(※ここ、テストに出ません)
A:一文字目を小文字に変換。
B:各人に対してほしいものリストを上から確認。
C:queueで先頭の卵の賞味期限を確認。古くなったら総和から引いてpop
D:前から順にmp[i]をmp[i-1]+1に更新。これで現在までの最大コンボ数が求まる。
E:あまりに着目すれば{Sn-1,Sn-2}の組み合わせはm^2通りしかない。
スタートを決め打ちメモ化再帰。余りが0になったら失敗を返す。
(続く)
#ABC445 メモ
ABCDE 5完 68:51
3分間待ってくれ...命乞いをする...
A:最初と最後を見る
B:差の半分を前と後ろに。
C:自分を指しているところからBFS
D:縦がそのまま使えるものを割って、横がそのまま使えるものを割っての繰り返し。
E:素因数分解して値を管理。ある数の素因数が最多なら、2位との差分だけ割っていく。
F:ワーシャルフロイドとダブリングの合わせ技。提出するも3分オーバーで泣く。
Cの誤読。Eの無駄な実装の手間のせいで6完ならず。
終了後ACが一番心に来るっス...
#AWC0002 感想
普段はしないような出力が多いので、誤読が多い。
ある意味では、問題文をよく読む練習になった。
AWCやってみた感想。
新しく買ったキーボードが若干配置が違うことに気づけた。
てか、土曜日までに手が慣れなかったらどうしよう。
#ABC444 メモ
ABCD(4)E 5完 1ペナ 69:29
早解き崖回は負けフラグ。
A:3文字がすべて同じか?
B:10^5個を調べる。
C:結果は「全部割れた」or「長いのだけ生き残った」の2択。長い順と短い順を組み合わせて長さが合うかチェック。
D:1が何回足されるかを桁ごとにチェック、繰り上がりも忘れずにメモ。
E:右を固定してX-d< y < X+dとなるyのうち一番手前のものに更新して差分を足す。
F:正解者54人って...
正直、点数見たときから負けを確信していた。
僕に、500点問題をください。
解説見る限りFの方針は間違ってなさそうなのであとは丁寧に設計していたら行けたっぽい?
まあ定位置なので良しとします。
#ABC443 メモ
ABCDE 55:01 5完
【今日の気づき】ゆっくりのほうがミスは少ない。
A:ただつけるだけ
B:答えは高々10^4程度なのでwhileにお任せ
C:青木君のタイミング - 開いた時間。次に開くまでのインターバルならスキップ。
D:一番上にあるポーンから左右のポーンを手前まで引き寄せる。次に高いのを知りたいので優先度付きqueでBFS
E:一番下にあるブロックを「その先にあるブロック破壊ボタン」をみなし、そこが押せるなら、その列の壁は無視。あとはBFS。
F:[余り][最後の桁]をもってDPしましたがMLTでした、ちゃんちゃん。