﻿<?xml version="1.0" encoding="UTF-8" ?> <?xml-stylesheet type="text/xsl" href="rss.xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <title>Algorithms for Competitive Programming</title><description>The goal of this project is to translate the wonderful resource http://e-maxx.ru/algo which provides descriptions of many algorithms and data structures especially popular in field of competitive programming. Moreover we want to improve the collected knowledge by extending the articles and adding new articles to the collection.</description><link>https://cp-algorithms.com/</link><atom:link href="https://cp-algorithms.com/feed_rss_updated.xml" rel="self" type="application/rss+xml" /> <docs>https://github.com/cp-algorithms/cp-algorithms</docs><language>en</language> <pubDate>Wed, 10 Jun 2026 02:12:33 -0000</pubDate> <lastBuildDate>Wed, 10 Jun 2026 02:12:33 -0000</lastBuildDate> <ttl>1440</ttl> <generator>MkDocs RSS plugin - v1.19.0</generator> <image> <url>None</url> <title>Algorithms for Competitive Programming</title> <link>https://cp-algorithms.com/</link> </image> <item> <title>Binary Exponentiation</title> <description>&lt;h1&gt;Binary Exponentiation&lt;/h1&gt; &lt;p&gt;Binary exponentiation (also known as exponentiation by squaring) is a trick which allows to calculate $a^n$, where $n$ is a non-nega...&lt;/p&gt;</description> <link>https://cp-algorithms.com/algebra/binary-exp.html</link> <pubDate>Wed, 10 Jun 2026 01:43:43 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/algebra/binary-exp.html</guid> </item> <item> <title>Navigation</title> <description>&lt;ul&gt; &lt;li&gt;Home&lt;ul&gt; &lt;li&gt;&lt;a href=&#34;index.md&#34;&gt;Main Page&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;navigation.md&#34;&gt;Navigation&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;tags.md&#34;&gt;Tag index&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&#34;contrib.md&#34;&gt;How to Contribute&lt;/a&gt;&lt;/li&gt; &lt;li&gt;[Code of conduct]...&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;/ul&gt;</description> <link>https://cp-algorithms.com/navigation.html</link> <pubDate>Wed, 10 Jun 2026 01:04:02 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/navigation.html</guid> </item> <item> <title>Edge connectivity / Vertex connectivity</title> <description>&lt;h1&gt;Edge connectivity / Vertex connectivity&lt;/h1&gt; &lt;h2&gt;Definition&lt;/h2&gt; &lt;p&gt;Given an undirected graph $G$ with $n$ vertices and $m$ edges. Both the edge connectivity and the v...&lt;/p&gt;</description> <link>https://cp-algorithms.com/graph/edge_vertex_connectivity.html</link> <pubDate>Wed, 10 Jun 2026 01:04:02 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/graph/edge_vertex_connectivity.html</guid> </item> <item> <title>Minimum cut - Stoer-Wagner algorithm</title> <description>&lt;h1&gt;Minimum cut - Stoer-Wagner algorithm&lt;/h1&gt; &lt;h2&gt;Problem statement&lt;/h2&gt; &lt;p&gt;Given an undirected weighted graph $G$ with $n$ vertices and $m$ edges. A cut $C$ is a non-empt...&lt;/p&gt;</description> <link>https://cp-algorithms.com/graph/stoer_wagner_mincut.html</link> <pubDate>Wed, 10 Jun 2026 01:04:02 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/graph/stoer_wagner_mincut.html</guid> </item> <item> <title>Sqrt Decomposition</title> <description>&lt;h1&gt;Sqrt Decomposition&lt;/h1&gt; &lt;p&gt;Sqrt Decomposition is a method (or a data structure) that allows you to perform some common operations (finding sum of the elements of ...&lt;/p&gt;</description> <link>https://cp-algorithms.com/data_structures/sqrt_decomposition.html</link> <pubDate>Wed, 27 May 2026 11:57:33 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/data_structures/sqrt_decomposition.html</guid> </item> <item> <title>Depth First Search</title> <description>&lt;h1&gt;Depth First Search&lt;/h1&gt; &lt;p&gt;Depth First Search is one of the main graph algorithms.&lt;/p&gt; &lt;p&gt;Depth First Search finds the lexicographical first path in the graph from a so...&lt;/p&gt;</description> <link>https://cp-algorithms.com/graph/depth-first-search.html</link> <pubDate>Sun, 24 May 2026 04:23:13 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/graph/depth-first-search.html</guid> </item> <item> <title>Segment Tree</title> <description>&lt;h1&gt;Segment Tree&lt;/h1&gt; &lt;p&gt;A Segment Tree is a data structure that stores information about array intervals as a tree. This allows answering range queries over an array...&lt;/p&gt;</description> <link>https://cp-algorithms.com/data_structures/segment_tree.html</link> <pubDate>Sun, 24 May 2026 04:18:12 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/data_structures/segment_tree.html</guid> </item> <item> <title>Treap</title> <description>&lt;h1&gt;Treap (Cartesian tree)&lt;/h1&gt; &lt;p&gt;A treap is a data structure which combines binary tree and binary heap (hence the name: tree + heap $\Rightarrow$ Treap).&lt;/p&gt; &lt;p&gt;More spe...&lt;/p&gt;</description> <link>https://cp-algorithms.com/data_structures/treap.html</link> <pubDate>Sun, 24 May 2026 04:18:12 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/data_structures/treap.html</guid> </item> <item> <title>Knapsack Problem</title> <description>&lt;h1&gt;Knapsack Problem&lt;/h1&gt; &lt;p&gt;Prerequisite knowledge: &lt;a href=&#34;https://cp-algorithms.com/dynamic_programming/intro-to-dp.html&#34;&gt;Introduction to Dynamic Programming&lt;/a&gt;&lt;/p&gt; &lt;h2&gt;Introduc...&lt;/h2&gt;</description> <link>https://cp-algorithms.com/dynamic_programming/knapsack.html</link> <pubDate>Sun, 24 May 2026 04:18:12 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/dynamic_programming/knapsack.html</guid> </item> <item> <title>Half-plane intersection - S&amp;I Algorithm in O(N log N)</title> <description>&lt;h1&gt;Half-plane intersection&lt;/h1&gt; &lt;p&gt;In this article we will discuss the problem of computing the intersection of a set of half-planes. Such an intersection can be con...&lt;/p&gt;</description> <link>https://cp-algorithms.com/geometry/halfplane-intersection.html</link> <pubDate>Sun, 24 May 2026 04:18:12 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/geometry/halfplane-intersection.html</guid> </item> <item> <title>Finding the nearest pair of points</title> <description>&lt;h1&gt;Finding the nearest pair of points&lt;/h1&gt; &lt;h2&gt;Problem statement&lt;/h2&gt; &lt;p&gt;Given $n$ points on the plane. Each point $p_i$ is defined by its coordinates $(x_i,y_i)$. It is ...&lt;/p&gt;</description> <link>https://cp-algorithms.com/geometry/nearest_points.html</link> <pubDate>Sun, 24 May 2026 04:18:12 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/geometry/nearest_points.html</guid> </item> <item> <title>Lowest Common Ancestor</title> <description>&lt;h1&gt;Lowest Common Ancestor - $O(\sqrt{N})$ and $O(\log N)$ with $O(N)$ preprocessing&lt;/h1&gt; &lt;p&gt;Given a tree $G$. Given queries of the form $(v_1, v_2)$, for each query ...&lt;/p&gt;</description> <link>https://cp-algorithms.com/graph/lca.html</link> <pubDate>Sun, 24 May 2026 04:18:12 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/graph/lca.html</guid> </item> <item> <title>Solve RMQ by finding LCA</title> <description>&lt;h1&gt;Solve RMQ (Range Minimum Query) by finding LCA (Lowest Common Ancestor)&lt;/h1&gt; &lt;p&gt;Given an array &lt;code&gt;A[0..N-1]&lt;/code&gt;. For each query of the form &lt;code&gt;[L, R]&lt;/code&gt; we want to find th...&lt;/p&gt;</description> <link>https://cp-algorithms.com/graph/rmq_linear.html</link> <pubDate>Sun, 24 May 2026 04:18:12 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/graph/rmq_linear.html</guid> </item> <item> <title>Newton&#39;s method for finding roots</title> <description>&lt;h1&gt;Newton&#39;s method for finding roots&lt;/h1&gt; &lt;p&gt;This is an iterative method invented by Isaac Newton around 1664. However, this method is also sometimes called the Rap...&lt;/p&gt;</description> <link>https://cp-algorithms.com/num_methods/roots_newton.html</link> <pubDate>Sun, 24 May 2026 04:18:12 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/num_methods/roots_newton.html</guid> </item> <item> <title>Simulated Annealing</title> <description>&lt;h1&gt;Simulated Annealing&lt;/h1&gt; &lt;p&gt;&lt;strong&gt;Simulated Annealing (SA)&lt;/strong&gt; is a randomized algorithm, which approximates the global optimum of a function. It&#39;s called a randomized ...&lt;/p&gt;</description> <link>https://cp-algorithms.com/num_methods/simulated_annealing.html</link> <pubDate>Sun, 24 May 2026 04:18:12 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/num_methods/simulated_annealing.html</guid> </item> <item> <title>Suffix Automaton</title> <description>&lt;h1&gt;Suffix Automaton&lt;/h1&gt; &lt;p&gt;A &lt;strong&gt;suffix automaton&lt;/strong&gt; is a powerful data structure that allows solving many string-related problems. &lt;/p&gt; &lt;p&gt;For example, you can search for a...&lt;/p&gt;</description> <link>https://cp-algorithms.com/string/suffix-automaton.html</link> <pubDate>Sun, 24 May 2026 04:18:12 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/string/suffix-automaton.html</guid> </item> <item> <title>Minimum Stack / Minimum Queue</title> <description>&lt;h1&gt;Minimum stack / Minimum queue&lt;/h1&gt; &lt;p&gt;In this article we will consider three problems: first we will modify a stack in a way that allows us to find the smallest ...&lt;/p&gt;</description> <link>https://cp-algorithms.com/data_structures/stack_queue_modification.html</link> <pubDate>Thu, 21 May 2026 05:09:09 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/data_structures/stack_queue_modification.html</guid> </item> <item> <title>Basic Geometry</title> <description>&lt;h1&gt;Basic Geometry&lt;/h1&gt; &lt;p&gt;In this article we will consider basic operations on points in Euclidean space which maintains the foundation of the whole analytical geome...&lt;/p&gt;</description> <link>https://cp-algorithms.com/geometry/basic-geometry.html</link> <pubDate>Sat, 16 May 2026 01:08:12 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/geometry/basic-geometry.html</guid> </item> <item> <title>0-1 BFS</title> <description>&lt;h1&gt;0-1 BFS&lt;/h1&gt; &lt;p&gt;It is well-known, that you can find the shortest paths between a single source and all other vertices in $O(|E|)$ using [Breadth First Search](bre...&lt;/p&gt;</description> <link>https://cp-algorithms.com/graph/01_bfs.html</link> <pubDate>Sun, 19 Apr 2026 06:04:57 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/graph/01_bfs.html</guid> </item> <item> <title>Tortoise and Hare Algorithm (Linked List cycle detection)</title> <description>&lt;h1&gt;Floyd&#39;s Linked List Cycle Finding Algorithm&lt;/h1&gt; &lt;p&gt;Given a linked list where the starting point of that linked list is denoted by &lt;strong&gt;head&lt;/strong&gt;, and there may or may ...&lt;/p&gt;</description> <link>https://cp-algorithms.com/others/tortoise_and_hare.html</link> <pubDate>Tue, 14 Apr 2026 13:15:23 +0000</pubDate> <source url="https://cp-algorithms.com/feed_rss_updated.xml">Algorithms for Competitive Programming</source><guid isPermaLink="true">https://cp-algorithms.com/others/tortoise_and_hare.html</guid> </item> </channel> </rss>