データ構造

Suffix Arrayを使ってみた

全く解き方が分からなかったMountain HolidaysのEditorialが出たので解いてみました. Mountain Holidays 整数の配列height(1 次の条件のいずれかを満たすとき(i1, j1)と(i2, j2)の2つの連続部分列は異なる. 1. j1 – i1 != j2 – i2 2. height[i1+k] – heigh…

BITを使ってみた

前に出たCodeChefのコンテストで解けなかった問題を解いてみました。Magic Board http://www.codechef.com/problems/MBOARDN*NのフィールドとQ個のクエリが与えられる。 クエリは RowSet i x: i行目をx(=0 or 1)にする。 ColSet i x: i列目をx(=0 or 1)にす…

セグメント木を使ってみた

Competitive Programming Advent Calendar Div201218日目の記事、kagamizさんのIntroduction to Segment Treeを見て、セグメント木を実装してみました。解いたのはCodeforcesのC. Circular RMQ。久々にC++で実装しました。スクリプト言語でやろうかとも思っ…