2021-01-01から1年間の記事一覧
自分語り記事です。 えびちゃんの一年を振り返る記事をうっかり書きそうになったけど、冷静になったので却下した— えびちゃん (@rsk0315_h4x) 2021年12月16日 うっかりし直しました。 今年お勉強したもの 数学関連のものをいくつか学んだり、昔わかった気に…
競プロ er の間では、(主に実生活で)最適値を探そうと二分探索をして、上限を大きく取りすぎたために破滅するという定番ネタがあります*1。 あるいは、実際のコンテストでも「上限が小さすぎた」「上限を大きくしすぎたため判定関数内でオーバーフローした…
夢に出てくる競プロの問題、自明か既出か #P-complete がち— えびちゃん (@rsk0315_h4x) 2021年11月23日 今回はわりと面白いやつ出たか?と思って考えてたんだけど、寝起きで頭がついてなかっただけで自明枠だったことが判明しつつある— えびちゃん (@rsk031…
したくない人は読まなくていいです。 TL; DR vEB やりたいこと Python の set は「x 以上の最小値は?」「x より大きい最小値は?」といったクエリに答えられないので困ります。それをしたいです。x は整数としちゃいます。 特に競プロの文脈の話なので、外…
思いついたら書きます。 これはなに なにかを思いついたときに、指摘される前に「あー嘘じゃんこれ」というのに気づく用のノートです。あと他人の嘘考察を見るのはたのしい。 嘘考察 嘘考察たちです。 \(n^{1/2}-n^{1/3}=O(n^{1/3})\) \(n^{1/2}-n^{1/3} = n…
計算量についてのお話です。対象は、プログラミング経験はあるが計算量のことを知らない初心者から、計算量のことを知っているつもりになっている中級者くらいです。 数式を見たくない人にとっては読むのが大変かもですが、深呼吸しつつ落ちついて読んでくれ…
最近ロリハあんまり人気なくない? TL; DR ロリハ + にぶたん で \(O(\log(n))\) 時間で大小比較できるので、愚直に比較する代わりにそれを使ってソートして \(O(n\log(n)^2)\) 時間で構築できる。 おさらい ロリハ ロリハ (rolling hash) のおさらいを軽く…
rerooting DP、rerooting をする DP、DP with rerooting とかなら別によさそう。 全方位木 DP 自体を指して「rerooting」と言われると気になります。 rerooting は木の根を変える操作(全方位木の中で考えられる)を指していて、全方位木 DP 自体のことを指…
インタラクティブ問題は手元でのデバッグが面倒がちなので、いやだと思っている人が多そうです。 coproc というシェルの機能を使えばそこそこ簡単にできないかな?と思ったので、書いてみます。 まえおき 簡単とは言っても、以下のものは自分で書く or 生成…
part 1 以降があるかはわかりません。 導入? 競プロで、「絶対誤差または相対誤差が \(10^{-6}\) 以下ならば正解と判定される」といった文言はちょくちょく見かけます。 思い出すシリーズ \(2e-3\) atcoder.jp 思ひでポロポロ pic.twitter.com/64N0Qk3SbX— …
「bitset で 64 倍高速化できます」「64 は定数なのでオーダーは変わりません」のような説明は、競プロ界隈でたびたび見かけます。 59 日目の解説です。std::bitset などを使った高速化テクニックは過去に AGC にも出題されたことがある重要事項ですので、理…
\(n\) 以下の素数の個数を求める関数 \(\pi(n)\) を持っていたとします。 このとき、\(n\) の素数判定は \(\pi(n)-\pi(n-1) = 1\) かどうかでできます。 fn is_prime(n: usize) -> bool { n > 0 && prime_pi(n) - prime_pi(n - 1) == 1 } たとえば \(O(n^{3/…
軽めの記事です。 \(n\) 番目の素数を \(p_n\)、\(n\) 以下の素数を \(\pi(n)\) と書くとします。 このとき、\(p_n\) は \(\pi(p_n) \ge n\) かつ \(\pi(p_n-1) \lt n\) を満たします。 よって、これは二分探索で求められます。 上限を決めるのが大変そうで…
別に、おふとんから出たくない朝とかに数えてもいいと思います。 \(n\) 以下の素数の個数を数えたいときどうしますか? 各整数 \(2\le i\le n\) に対して素数判定して数えます? 素数判定を試し割り法でやると \(\Theta(n\sqrt{n})\)、線形篩*1を使えば \(\T…
どうしてこんなことに... まえおき 本題 リテラルのつくりかた std::max scanf / printf int8_t ACL の話 そもそも定義されない処理系もある そのほか むかしの まえおき C++ には次の型があります: signed char unsigned char char short signed int (= sh…
あー、おわりです。 えびちゃんの他の参加記は ここから*1。 えびちゃんは B3 の頃から ICPC に出ていました。 four-t で 3 回と、今回 tsutaj で出ました。チームメイトに大変恵まれていたなぁというのをとても思います。 今回で老害化です。 tsutaj(チー…
お店に入るときにドアが開いているか確認せずに歩いていって、ドアにぶつかって怒っている人がいたらおかしい話じゃないですか*1。 未定義動作を起こして怒るのはこれと似ている気がします。 競プロでよくあるコーナーケースなども同じです。 「いま書いてい…
経緯 オーバーフロー判定が分からない人のためのスライドオーバーフロー判定・オーバーフロー判定がわからない人は三 ( ◠‿◠ )☛ 大人しく Python でも使ってろ・ご清聴ありがとうございました— えびちゃん (@rsk0315_h4x) 2021年2月20日 今日は少しだけ真面目…
ACL (AtCoder Library) の内部実装を知りたい人向けの記事です。 お友だちに「ねーね、ACL のこの関数ってどういう仕組みなの? 知ってたりしない?」と聞かれたとき、「え... なんかほら、わかんないけど、魔法で動くからいいんだよ」としか言えないと情け…