Generating All Permutations of a String
Recursive Permutation Generation
This approach generates all permutations through recursive swaps. The algorithm fixes each character at the first position and recursively permutes the remaining substring.
public class PermutationGenerator {
public static void main(String[] args) {
String text = "abc";
permute( ...
Posted on Wed, 29 Jul 2026 16:44:08 +0000 by abie10
Efficient Algorithms for Dragon Slaying, Backpack Optimization, and Geometric Problems
Dragon Slayer Pathfinding with Binary Enumeration
Coordinate scaling converts decimal start/end points to integers for grid processing. Binary enumeration efficiently searches all possible wall removal combinations.
#include <iostream>
#include <vector>
#include <bitset>
using namespace std;
struct Barrier {
int x_start, ...
Posted on Fri, 24 Jul 2026 17:13:22 +0000 by chreez
Generating Combinations with Backtracking
The task is to generate all possible combinations of r distinct numbers from the set {1, 2, ..., n}. A combination is an unordered selection, meaning {1, 2, 3} is the same as {3, 2, 1}. We need to print each combination on a new line, with numbers sorted in ascending order and each number occupying exactly three characters of space. The combina ...
Posted on Thu, 16 Jul 2026 16:27:06 +0000 by NuMan
Algorithmic Solutions for Nowcoder Weekly Contest Round 6
Problem A: Counting Digit Holes
The task requires calculating the total number of closed loops (holes) in a sequence of digits. Digits '0', '6', and '9' contain one loop each, while '8' contains two loops. The solution involves iterating through the string and accumulating the count based on the digit encountered.
#include <iostream>
#inc ...
Posted on Mon, 06 Jul 2026 17:24:28 +0000 by briand
Calculating Binomial Expansion Coefficients Modulo 10007
This article addresses the problem of finding the coefficient of the $x^n y^m$ term in the expansion of the polynomial $(ax + by)^k$. The solution involves applying the binoimal theorem and calculating combinations modulo 10007.
Binomial Theorem Application
The binomial theorem states that $(x+y)^k = \sum_{i=0}^{k} \binom{k}{i} x^{k-i} y^i$. In ...
Posted on Mon, 06 Jul 2026 16:23:12 +0000 by fangfang
Graph Orientation, Permutation Cycle LCM, Interval Partitioning, and Card Sequence Matching
Directed Edge Orientation with Out-Degree ConstraintGiven an undirected graph, determine the number of ways to orient all edges such that every vertex has an out-degree of exactly 1. The result should be modulo 998244353.For such an orientation to exist, the number of edges must exactly equal the number of vertices, i.e., m = n. Furthermore, ev ...
Posted on Wed, 01 Jul 2026 17:40:45 +0000 by hairyjim
Competitive Programming Problem Solutions: A Holiday Practice Log
Mock Contest Problem 1
Problem Overview
Converting the constraints reveals two key requirements for any valid set:
Must include the maximum power of each prime factor of n
Must contain at least one pair of distinct prime factors
Since the number of prime factors is much smaller than log(n), brute force search works effectively.
Approach: Incl ...
Posted on Fri, 26 Jun 2026 17:15:55 +0000 by obay
Algorithm Solutions for Codeforces Educational Round 164
A. Ribbon Coloring Strategy
Alice's optimal strategy is to color the ribbon in a repeating pattern like "123123...". Bob's optimal counter-strategy is to recolor the ribbon to the most frequent color.
The most frequent color appears at least ⌈n/m⌉ times, leaving Bob with at most (n - ⌈n/m⌉) recoloring operations. Compare this value wi ...
Posted on Fri, 19 Jun 2026 16:00:53 +0000 by []InTeR[]
Algorithmic Challenges: Modulo Operations and Dynamic Programming Strategies
Problem 1: Equalizing Elements via Modulo
Problem Statement
Given an array of integers, determine if it is possible to make all elements equal by repeatedly applying a modulo operation with an integer $x \ge 2$. In each step, every element $a_i$ is replaced by $a_i \bmod x$.
Analysis
The core constraint lies in the behavior of small numbers und ...
Posted on Sun, 14 Jun 2026 16:19:47 +0000 by asmith
GESP Practice Problems: Reading, Scheduling, Geometry, and Bit Patterns
Holiday Reading
A book has n pages. A student can read at most k pages per day over t vacation days. The maximum number of pages they can finish is the smaller of n and k * t.
n = int(input())
k = int(input())
t = int(input())
print(min(n, k * t))
Shared Duty Schedule
Two students clean on cycles of m and n days. The next time they coincide i ...
Posted on Sun, 07 Jun 2026 17:44:57 +0000 by cmanhatton