The article explores how players have found ways to cheat at Tetris through techniques like manipulating the random number generator and exploiting game mechanics. It discusses various methods used to gain advantages in the classic puzzle game.
#algorithms
18 items
Shazam identifies songs by creating audio fingerprints from short audio clips and matching them against a database of millions of songs. The technology analyzes the unique acoustic patterns in music to recognize tracks within seconds.
The article discusses test case minimization techniques, explaining how to reduce failing test cases to their minimal form for easier debugging. It covers approaches like delta debugging and bisection to isolate the root cause of failures.
The article presents a Rust implementation of binary search, discussing the algorithm's logic and code structure. It explains how the search efficiently locates elements in sorted arrays using iterative methods.
Shazam identifies songs by creating audio fingerprints from short sound samples, which are then matched against a massive database of known tracks. The technology analyzes unique acoustic characteristics in the audio to enable rapid song recognition.
The article discusses how certain optimizations in merge sort algorithms can actually degrade performance rather than improve it, using multi-merge sort as an example where theoretical improvements don't translate to practical gains.
The article introduces decision graphs as a method for modeling complex decision-making processes. It explains how decision graphs can represent various decision paths and outcomes in a structured visual format. The approach combines elements from decision trees and influence diagrams to create more comprehensive models.
The article discusses how pathfinding algorithms can be applied to software development processes. It explores algorithmic approaches to solving software engineering challenges and optimizing development workflows.
The article discusses an algorithm for finding a duplicated item in an array of N integers where each integer is in the range 1 to N-1. It explains how to leverage the special characteristics of this constrained array to efficiently identify the duplicate element.
The article describes algorithms for generating the aperiodic Spectre tiling used in the puzzle game Loopy. It explains combinatorial coordinate systems that enable efficient computation of the tiling pattern.
The article details the author's historical mistakes in implementing loop detection algorithms for graphs while developing puzzle games. It serves as a cautionary guide about common pitfalls in graph traversal and cycle detection.
The article presents an algorithm that can transform aperiodic tilings that cannot be processed by finite-state transducers into ones that can. This builds on previous work about finite-state transducers for aperiodic tilings.
The article explains Dijkstra's algorithm for finding the shortest path between nodes in a graph. It describes the algorithm's operation step-by-step and discusses its applications in routing and network analysis.
Recursion
1.0The article discusses recursion as a programming concept where a function calls itself, explaining its fundamental principles and applications. It covers how recursion works through base cases and recursive cases, with examples illustrating the technique.
The article explains how convolution matrices can be used to apply various image filters. It demonstrates common filters like blur, sharpen, and edge detection through matrix operations on pixel values.
The article discusses the concept of pairwise order in sequences of elements, exploring how the relative ordering between adjacent elements can be analyzed and measured. It examines mathematical properties and potential applications of this sequence characteristic.
Binary GCD
1.5二进制GCD算法是一种高效计算最大公约数的方法,通过位运算和移位操作替代传统的除法运算,特别适合在计算机系统中实现。该算法利用奇偶性判断和减法操作,相比欧几里得算法在某些情况下具有更好的性能表现。
跳表有什么用处?
1.5跳表是一种概率性数据结构,通过多层索引实现O(log n)时间复杂度的查找、插入和删除操作,在并发编程和内存数据库等场景中比平衡二叉搜索树更具优势。