diff --git a/writing/content/gene.html b/writing/content/gene.html new file mode 100644 index 0000000..f35d5f7 --- /dev/null +++ b/writing/content/gene.html @@ -0,0 +1,82 @@ + + + + + + Tufte CSS + + + + + + + + + + +
+

The RMQ Problem in Rust

+ +

A Naive Solution

+ +

Binary Representation and Sparse Tables

+ +

Preprocessing

+

Querying the Sparse Table

+ +

The Method of Four Russians

+

Two Level Structures

+

Hybrid Structures

+ + +

Cartesian Trees & The LCA-RMQ Equivalence

+

Cartesian Trees

+

Cartesian Tree Isomorphisms

+

The Fischer-Heun RMQ Structure

+ + + + + + + + + + + + + + + + + + +
Block SizeMacro Array MethodMicro Array MethodRuntime
`0.25 lg n`Sparse TableSparse Table with Cartesian Tree based caching`<O(n), O(1)>`
+ + +

References

+ +
  • [CS 166 Lecture 1](http://web.stanford.edu/class/archive/cs/cs166/cs166.1196/lectures/00/Small00.pdf)
  • +
  • [CS 166 Lecture 2](http://web.stanford.edu/class/archive/cs/cs166/cs166.1196/lectures/01/Small01.pdf)
  • +
  • [6.851](http://courses.csail.mit.edu/6.851/fall17/lectures/L15.pdf)
  • + +
    +
    +@article{jlikhuva2021rmq,
    +    title   = "Rusty Solutions to the Range-Min Query Problem.",
    +    author  = "Okonda, Joseph",
    +    journal = "https://github.com/jlikhuva/blog",
    +    year    = "2021",
    +    url     = "https://github.com/jlikhuva/blog/blob/main/posts/rmq.md"
    +}
    +
    +
    +
    + + + \ No newline at end of file diff --git a/writing/content/index.html b/writing/content/index.html new file mode 100644 index 0000000..f35d5f7 --- /dev/null +++ b/writing/content/index.html @@ -0,0 +1,82 @@ + + + + + + Tufte CSS + + + + + + + + + + +
    +

    The RMQ Problem in Rust

    + +

    A Naive Solution

    + +

    Binary Representation and Sparse Tables

    + +

    Preprocessing

    +

    Querying the Sparse Table

    + +

    The Method of Four Russians

    +

    Two Level Structures

    +

    Hybrid Structures

    + + +

    Cartesian Trees & The LCA-RMQ Equivalence

    +

    Cartesian Trees

    +

    Cartesian Tree Isomorphisms

    +

    The Fischer-Heun RMQ Structure

    + + + + + + + + + + + + + + + + + + +
    Block SizeMacro Array MethodMicro Array MethodRuntime
    `0.25 lg n`Sparse TableSparse Table with Cartesian Tree based caching`<O(n), O(1)>`
    + + +

    References

    + +
  • [CS 166 Lecture 1](http://web.stanford.edu/class/archive/cs/cs166/cs166.1196/lectures/00/Small00.pdf)
  • +
  • [CS 166 Lecture 2](http://web.stanford.edu/class/archive/cs/cs166/cs166.1196/lectures/01/Small01.pdf)
  • +
  • [6.851](http://courses.csail.mit.edu/6.851/fall17/lectures/L15.pdf)
  • + +
    +
    +@article{jlikhuva2021rmq,
    +    title   = "Rusty Solutions to the Range-Min Query Problem.",
    +    author  = "Okonda, Joseph",
    +    journal = "https://github.com/jlikhuva/blog",
    +    year    = "2021",
    +    url     = "https://github.com/jlikhuva/blog/blob/main/posts/rmq.md"
    +}
    +
    +
    +
    + + + \ No newline at end of file diff --git a/writing/content/interp.html b/writing/content/interp.html new file mode 100644 index 0000000..f35d5f7 --- /dev/null +++ b/writing/content/interp.html @@ -0,0 +1,82 @@ + + + + + + Tufte CSS + + + + + + + + + + +
    +

    The RMQ Problem in Rust

    + +

    A Naive Solution

    + +

    Binary Representation and Sparse Tables

    + +

    Preprocessing

    +

    Querying the Sparse Table

    + +

    The Method of Four Russians

    +

    Two Level Structures

    +

    Hybrid Structures

    + + +

    Cartesian Trees & The LCA-RMQ Equivalence

    +

    Cartesian Trees

    +

    Cartesian Tree Isomorphisms

    +

    The Fischer-Heun RMQ Structure

    + + + + + + + + + + + + + + + + + + +
    Block SizeMacro Array MethodMicro Array MethodRuntime
    `0.25 lg n`Sparse TableSparse Table with Cartesian Tree based caching`<O(n), O(1)>`
    + + +

    References

    + +
  • [CS 166 Lecture 1](http://web.stanford.edu/class/archive/cs/cs166/cs166.1196/lectures/00/Small00.pdf)
  • +
  • [CS 166 Lecture 2](http://web.stanford.edu/class/archive/cs/cs166/cs166.1196/lectures/01/Small01.pdf)
  • +
  • [6.851](http://courses.csail.mit.edu/6.851/fall17/lectures/L15.pdf)
  • + +
    +
    +@article{jlikhuva2021rmq,
    +    title   = "Rusty Solutions to the Range-Min Query Problem.",
    +    author  = "Okonda, Joseph",
    +    journal = "https://github.com/jlikhuva/blog",
    +    year    = "2021",
    +    url     = "https://github.com/jlikhuva/blog/blob/main/posts/rmq.md"
    +}
    +
    +
    +
    + + + \ No newline at end of file diff --git a/writing/content/sketch.html b/writing/content/sketch.html new file mode 100644 index 0000000..f35d5f7 --- /dev/null +++ b/writing/content/sketch.html @@ -0,0 +1,82 @@ + + + + + + Tufte CSS + + + + + + + + + + +
    +

    The RMQ Problem in Rust

    + +

    A Naive Solution

    + +

    Binary Representation and Sparse Tables

    + +

    Preprocessing

    +

    Querying the Sparse Table

    + +

    The Method of Four Russians

    +

    Two Level Structures

    +

    Hybrid Structures

    + + +

    Cartesian Trees & The LCA-RMQ Equivalence

    +

    Cartesian Trees

    +

    Cartesian Tree Isomorphisms

    +

    The Fischer-Heun RMQ Structure

    + + + + + + + + + + + + + + + + + + +
    Block SizeMacro Array MethodMicro Array MethodRuntime
    `0.25 lg n`Sparse TableSparse Table with Cartesian Tree based caching`<O(n), O(1)>`
    + + +

    References

    + +
  • [CS 166 Lecture 1](http://web.stanford.edu/class/archive/cs/cs166/cs166.1196/lectures/00/Small00.pdf)
  • +
  • [CS 166 Lecture 2](http://web.stanford.edu/class/archive/cs/cs166/cs166.1196/lectures/01/Small01.pdf)
  • +
  • [6.851](http://courses.csail.mit.edu/6.851/fall17/lectures/L15.pdf)
  • + +
    +
    +@article{jlikhuva2021rmq,
    +    title   = "Rusty Solutions to the Range-Min Query Problem.",
    +    author  = "Okonda, Joseph",
    +    journal = "https://github.com/jlikhuva/blog",
    +    year    = "2021",
    +    url     = "https://github.com/jlikhuva/blog/blob/main/posts/rmq.md"
    +}
    +
    +
    +
    + + + \ No newline at end of file diff --git a/writing/content/wlp.html b/writing/content/wlp.html new file mode 100644 index 0000000..f35d5f7 --- /dev/null +++ b/writing/content/wlp.html @@ -0,0 +1,82 @@ + + + + + + Tufte CSS + + + + + + + + + + +
    +

    The RMQ Problem in Rust

    + +

    A Naive Solution

    + +

    Binary Representation and Sparse Tables

    + +

    Preprocessing

    +

    Querying the Sparse Table

    + +

    The Method of Four Russians

    +

    Two Level Structures

    +

    Hybrid Structures

    + + +

    Cartesian Trees & The LCA-RMQ Equivalence

    +

    Cartesian Trees

    +

    Cartesian Tree Isomorphisms

    +

    The Fischer-Heun RMQ Structure

    + + + + + + + + + + + + + + + + + + +
    Block SizeMacro Array MethodMicro Array MethodRuntime
    `0.25 lg n`Sparse TableSparse Table with Cartesian Tree based caching`<O(n), O(1)>`
    + + +

    References

    + +
  • [CS 166 Lecture 1](http://web.stanford.edu/class/archive/cs/cs166/cs166.1196/lectures/00/Small00.pdf)
  • +
  • [CS 166 Lecture 2](http://web.stanford.edu/class/archive/cs/cs166/cs166.1196/lectures/01/Small01.pdf)
  • +
  • [6.851](http://courses.csail.mit.edu/6.851/fall17/lectures/L15.pdf)
  • + +
    +
    +@article{jlikhuva2021rmq,
    +    title   = "Rusty Solutions to the Range-Min Query Problem.",
    +    author  = "Okonda, Joseph",
    +    journal = "https://github.com/jlikhuva/blog",
    +    year    = "2021",
    +    url     = "https://github.com/jlikhuva/blog/blob/main/posts/rmq.md"
    +}
    +
    +
    +
    + + + \ No newline at end of file diff --git a/writing/writing.html b/writing/writing.html index 0aee782..2af435a 100644 --- a/writing/writing.html +++ b/writing/writing.html @@ -11,31 +11,25 @@