Showing posts with label container. Show all posts
Showing posts with label container. Show all posts

Sunday, April 14, 2024

Install and run Docker on Gentoo Linux

Install and run docker on gentoo linux

1 Introduction

Docker is a container virtualization environment that can establish development or runtime environments without modifying the host operating system. It is faster and lighter than full hardware virtualization.

This article will guide you through the steps required to install and run Docker on Gentoo Linux.

2 Installtion

The official sys-kernel/gentoo-kernel-bin package supports running Docker.

For the customized kernel, refer to Docker: Kernel to configure the proper kernel options.

Default USE flags can be utilized. It is recommended to read the messages for the package app-containers/docker when emerging Docker and recompile the kernel based on what is not set but should be.

To check the kernel configuration compatibility, run:

$ /usr/share/docker/contrib/check-config.sh

Install the app-containers/docker and app-containers/docker-cli packages.

$ sudo emerge --ask --verbose app-containers/docker app-containers/docker-cli

Wednesday, February 21, 2024

Monotonic Stack

Monotonic Stack

1 Introduction to monotonic stack

A monotonic stack is a stack whose elements are monotonically increasing or decreasing.

If we pop greater elements from the stack before pushing a new element, the stack will increase from bottom to top. If we pop lesser elements, the stack will decrease.

The typical paradigm for an increasing monotonic stack is like:

for (int i = 0; i < A.size(); i++) {
    while (!stk.empty() && stk.top() > A[i]) {
        stk.pop();
    }
    stk.push(A[i]);
}

2 What can monotonically increasing stacks do?

Monotonically increasing stacks can be used to solve a variety of algorithmic problems. One common use case is for finding the nearest greater element in an array. By maintaining a stack of elements in increasing order, we can quickly determine the next greater element for each element in the array. Monotonically increasing stacks can also be used for finding the maximum area of a histogram, as well as for solving problems related to dynamic programming and graph algorithms.

2.1 To find the previous less element of each element in a vector with O(n) time.

What is the previous less element of an element in a vector? Suppose there is a vector [3, 8, 9, 6], for each element 3, 8, 9, and 6:

  • There is no previous less element for 3.
  • The previous less element of 8 is 3.
  • The previous less element of 9 is 8.
  • The previous less element of 6 is 3.