This article examines several algorithmic problems featuring dynamic programming, state management, and graph traversal techniques. Problem 1: Frozen Dumplings Consider a scenario where daily dumpling prices vary, and storage costs accrue for each day a dumpling is kept. Given prices for n days and...
Given an undirected graph (G=(V,E)) with (|V|=n \leq 16) and (|E| \leq \binom{n}{2}), compute the sum of weights of all unicyclic subgraphs. The weight of a unicyclic subgraph is defined as (2^w), where (w) is the number of non-leaf nodes in the subgraph. We first calculate cycle_count[S], the numbe...
Breadth-First Search (BFS) is a graph traversal algorithm that explores nodes in layers starting from a source node. It computes the shortest path distance (d-value) and predecessor (π-value) for each node in a directed graph. The following Go code implements BFS using a adjacency list representatio...
Consider processing graph updates in reverse. The state for each node represents the minimum cost required to become 'safe'. Each update modifies only a single node b_i, requiring an examination of its neighbors. A square root decomposition approach based on vertex degree allows for efficient handli...
Topological Sorting Kahn's Algorithm import java.util.*; public class KahnTopoSort { public static void main(String[] args) { Vertex cs101 = new Vertex("CS101"); Vertex cs102 = new Vertex("CS102"); Vertex cs201 = new Vertex("CS201"); Vertex cs301 = new Vertex("CS30...
Given three values A, B, and C where A < B < C, if A + B < C, no valid solution exists; otherwise, the answer is simply C. For the second problem, consider an N×N grid filled with numbers from 1 to N². The task is to count configurations where no row minimum equals any column maximum. Defin...
A Directed Acyclic Graph (DAG) is a finite directed graph containing no directed cycles. This structure is particularly useful for modeling mathematical expressions and scheduling dependencies. Expression Representation via DAGs Mathematical or logical expressions can be efficiently represented usin...