Algorithmic Review and Competition Strategies for NOIP
Contest preparation requires a structured approach to covering fundamental algorithms and optimizing problem-solving strategies. The following outlines core technical topics and execution practices essential for competitive programming.
Core Algorithms and Data Structures
Simulation and Mathematics
High-precision arithmetic is critical for p ...
Posted on Mon, 15 Jun 2026 17:54:23 +0000 by press711
Core Algorithmic Techniques in Java for Competitive Programming
Sorting, searching, dynamic programing, and graph algorithms form the backbone of competitive programming. This article presents a curated list of such patterns, each accompanied by a concise Java implementation. The examples draw inspiration from the ACwing problem set, covering topics from basic sorting to advanced combinatorial mathematics.
...
Posted on Mon, 15 Jun 2026 17:07:00 +0000 by zhaohongli
Implementing a Singly Linked List in C
Prerequisites
Before diving into the implementation, let's include the necessary header files:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef int ELEMENT; // Custom data type alias
Structure Definitions
For a linked list implementation, we need to define a node structure and a list structure:
// Node str ...
Posted on Mon, 15 Jun 2026 16:14:12 +0000 by fly_hyp
How LinkedHashMap Maintains Order with a Hash Table and Doubly Linked List
LinkedHashMap extends HashMap to preserve the order of entries—either by insertion or access sequence—while retaining O(1) average-time complexity for lookups. It achieves this by combining HashMap’s hash table structure with an additional doubly linked list that tracks entry order.
Core Structure
LinkedHashMap reuses HashMap’s underlying array ...
Posted on Sun, 14 Jun 2026 18:15:50 +0000 by ComputerChip
LeetCode 54: Spiral Matrix and 445: Add Two Numbers II
LeetCode 54: Spiral Matrix
Problem
Given an m x n matrix, return all elements of the matrix in spiral order.
Example 1
Input: matrix = [[1,2,3],[4,5,6],[7,8,9]]
Output: [1,2,3,6,9,8,7,4,5]
Example 2
Input: matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
Output: [1,2,3,4,8,12,11,10,9,5,6,7]
Approach
Traverse from left to right along the top r ...
Posted on Sun, 14 Jun 2026 16:12:36 +0000 by thebusinesslad
Understanding Doubly Linked Lists: Implementation and Operations in C
Introduction to Doubly Linked Lists
In a singly linked list, each node contains only a pointer too its successor, which creates a limitation: accessing a node's predecessor requires traversing the list from the beginning. This results in O(1) time compelxity for accessing the next node but O(n) for accessing the previous node. Doubly linked lis ...
Posted on Fri, 12 Jun 2026 18:01:26 +0000 by HUWUWA
Understanding Core Data Structures in the Clipper Library
Core Data Structures in the Clipper Library
The Clipper library is an open-source C++ toolkit designed for performing polygon clipping and offsetting operations. Within this library, points and polygons serve as fundamental data structures. Clipper primarily works with polygons and paths, where paths can represent either open polylines or close ...
Posted on Fri, 12 Jun 2026 17:33:17 +0000 by jaymoore_299
Implementing Self-Balancing AVL Trees in C++
A self-balancing AVL tree maintains near-perfect binary search tree height after each insertion or deletion by ensuring that for any given node, the height difference between its left and right subtrees is at most one. This property prevents the performance degradation associated with skewed binary search trees.
The core implementation revolves ...
Posted on Mon, 08 Jun 2026 17:58:20 +0000 by bryson
Implementing an O(1) LFU Cache Algorithm
LRU vs. LFU Eviction PoliciesLeast Recently Used (LRU) and Least Frequently Used (LFU) are common cache eviction strategies. LRU tracks the time since last access, evicting the oldest entry when capacity is reached. LFU prioritizes access frequency, evicting entries with the lowest hit count. When multiple entries share the same minimum frequen ...
Posted on Sun, 07 Jun 2026 18:13:51 +0000 by jordan
Algorithmic Solutions for String Processing, Greedy Maximization, and Graph Dependencies
Prefix Matching and Keyboard Layout Reconstruction
This problem involves identifying possible next characters based on a given prefix and mapping them to a specific $4 \times 8$ grid layout. The core task is to filter a list of strings that start with a specific sequence and mark the character that immediately follows that sequence.
#include &l ...
Posted on Sun, 07 Jun 2026 16:46:38 +0000 by rednax