2020-05-21から1日間の記事一覧

Aizu Online Judge(AOJ)の「データの集合とクエリ処理(DSL)」のコースを制覇した。

AOJの「データの集合とクエリ処理(DSL)」のコースをC言語で制覇した。 DSL全制覇! 問題 解答例 DSL_1_A 互いに素な集合 Union Find木 DSL_1_B 重み付きUnion Find木 重み付きUnion Find木 DSL_2_A Range Minimum Query(RMQ) セグメント木 DSL_2_B Range Sum…

しゃくとり法の実装のコツ

The Smallest Window I から考える。 int sum = 0; int left; int right = 0; for(left = 0; left < num; left++) { for(; right < num; right++) { if(sum >= limit) break; sum += arr[right]; } if(sum < limit) continue; #ifdef DEBUG printf("%d: [%d,…

セグメント木/遅延評価セグメント木の実装のコツ

はじめに セグメント木と遅延評価セグメント木を自分がどうやって空で実装しているのかをメモする。C言語での実装。 セグメント木が実装できれば、大体の場面で平衡二分探索木を実装する必要性がなくなり、競技プログラミング等で解ける問題の幅がぐっと広が…