Top Related Projects
🌍 针对小白的算法训练 | 包括四部分:①.大厂面经 ②.力扣图解 ③.千本开源电子书 ④.百张技术思维导图(项目花了上百小时,希望可以点 star 支持,🌹感谢~)推荐免费ChatGPT使用网站
✅ Solutions to LeetCode by Go, 100% test coverage, runtime beats 100% / LeetCode 题解
A curated list of awesome Go frameworks, libraries and software
算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~
:memo: LeetCode of algorithms with golang solution(updating).
【未来服务器端编程语言】最全空降golang资料补给包(满血战斗),包含文章,书籍,作者论文,理论分析,开源框架,云原生,大佬视频,大厂实战分享ppt
Quick Overview
EndlessCheng/codeforces-go is a GitHub repository containing Go solutions for Codeforces problems. It provides a comprehensive collection of algorithmic solutions implemented in Go, serving as a valuable resource for competitive programmers and those preparing for coding interviews.
Pros
- Extensive collection of Go solutions for Codeforces problems
- Well-organized structure with solutions categorized by contest and problem number
- Includes explanations and comments for many solutions, aiding in understanding
- Regularly updated with new solutions and improvements
Cons
- May not cover all Codeforces problems
- Solutions might not always be the most optimal or efficient
- Primarily focused on Go, limiting usefulness for users of other programming languages
- Reliance on external solutions may hinder personal problem-solving skills development
Code Examples
- Binary Search implementation:
func binarySearch(arr []int, target int) int {
left, right := 0, len(arr)-1
for left <= right {
mid := left + (right-left)/2
if arr[mid] == target {
return mid
} else if arr[mid] < target {
left = mid + 1
} else {
right = mid - 1
}
}
return -1
}
- Depth-First Search (DFS) on a graph:
func dfs(graph map[int][]int, start int, visited map[int]bool) {
visited[start] = true
fmt.Printf("%d ", start)
for _, neighbor := range graph[start] {
if !visited[neighbor] {
dfs(graph, neighbor, visited)
}
}
}
- Sieve of Eratosthenes for finding prime numbers:
func sieveOfEratosthenes(n int) []bool {
isPrime := make([]bool, n+1)
for i := 2; i <= n; i++ {
isPrime[i] = true
}
for i := 2; i*i <= n; i++ {
if isPrime[i] {
for j := i * i; j <= n; j += i {
isPrime[j] = false
}
}
}
return isPrime
}
Getting Started
To use the solutions from this repository:
-
Clone the repository:
git clone https://github.com/EndlessCheng/codeforces-go.git
-
Navigate to the desired problem's solution:
cd codeforces-go/problemset
-
Run the Go file for the specific problem:
go run problem_number.go
Remember to replace problem_number
with the actual problem number you're interested in.
Competitor Comparisons
🌍 针对小白的算法训练 | 包括四部分:①.大厂面经 ②.力扣图解 ③.千本开源电子书 ④.百张技术思维导图(项目花了上百小时,希望可以点 star 支持,🌹感谢~)推荐免费ChatGPT使用网站
Pros of hello-algorithm
- More comprehensive coverage of algorithms and data structures
- Includes visual explanations and diagrams for better understanding
- Offers content in multiple languages (Chinese and English)
Cons of hello-algorithm
- Less focused on competitive programming compared to codeforces-go
- May not have as many advanced or specialized algorithms
- Updates less frequently than codeforces-go
Code Comparison
hello-algorithm (Python):
def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
codeforces-go (Go):
func binarySearch(a []int, x int) int {
l, r := 0, len(a)
for l < r {
m := (l + r) >> 1
if a[m] >= x {
r = m
} else {
l = m + 1
}
}
return l
}
Both repositories provide implementations of common algorithms, but codeforces-go focuses more on competitive programming solutions, while hello-algorithm offers a broader range of algorithms and data structures with explanations. The code comparison shows similar implementations of binary search in different languages, reflecting the repositories' focus on algorithm implementations.
✅ Solutions to LeetCode by Go, 100% test coverage, runtime beats 100% / LeetCode 题解
Pros of LeetCode-Go
- More comprehensive coverage of LeetCode problems
- Better organization with problems categorized by difficulty and topics
- Includes detailed explanations and time/space complexity analyses
Cons of LeetCode-Go
- Focuses solely on LeetCode, limiting its scope compared to codeforces-go
- May not include as many advanced algorithmic techniques used in competitive programming
Code Comparison
LeetCode-Go:
func twoSum(nums []int, target int) []int {
m := make(map[int]int)
for i, num := range nums {
if j, ok := m[target-num]; ok {
return []int{j, i}
}
m[num] = i
}
return nil
}
codeforces-go:
func solve(n int, a []int) int {
sort.Ints(a)
ans := 0
for i := 0; i < n; i++ {
ans += abs(a[i] - (i + 1))
}
return ans
}
The code examples showcase different problem-solving approaches. LeetCode-Go focuses on common interview questions, while codeforces-go addresses more competitive programming-style problems. Both repositories provide valuable resources for Go developers looking to improve their algorithmic skills, with LeetCode-Go being more suitable for interview preparation and codeforces-go for competitive programming practice.
A curated list of awesome Go frameworks, libraries and software
Pros of awesome-go
- Comprehensive curated list of Go libraries, tools, and resources
- Regularly updated with community contributions
- Well-organized into categories for easy navigation
Cons of awesome-go
- Not focused on competitive programming or algorithm solutions
- Lacks actual code implementations or examples
- May be overwhelming for beginners due to the sheer volume of resources
Code comparison
codeforces-go:
func solve(n int, a []int) int {
sort.Ints(a)
ans := 0
for i := 0; i < n; i++ {
ans += abs(a[i] - (i + 1))
}
return ans
}
awesome-go:
No direct code comparison available, as awesome-go is a curated list of resources rather than a code repository.
Summary
codeforces-go is a repository focused on competitive programming solutions in Go, providing implementations for various algorithms and data structures. On the other hand, awesome-go is a curated list of Go libraries, tools, and resources, serving as a comprehensive reference for Go developers. While codeforces-go offers practical code examples for algorithmic problems, awesome-go provides a broader overview of the Go ecosystem without specific code implementations.
算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~
Pros of algorithm-pattern
- Focuses on algorithm patterns and provides a structured learning approach
- Covers a wide range of common algorithms and data structures
- Includes explanations and examples in multiple programming languages
Cons of algorithm-pattern
- Less comprehensive in terms of problem-solving techniques specific to competitive programming
- May not be as frequently updated with new problems and solutions
- Lacks the extensive collection of Codeforces problem solutions
Code Comparison
algorithm-pattern (Go implementation of binary search):
func binarySearch(nums []int, target int) int {
left, right := 0, len(nums)-1
for left <= right {
mid := left + (right-left)>>1
if nums[mid] == target {
return mid
} else if nums[mid] < target {
left = mid + 1
} else {
right = mid - 1
}
}
return -1
}
codeforces-go (Binary search implementation from a Codeforces problem):
func f(m int) bool {
// Problem-specific condition
}
func binarySearch() int {
l, r := 0, 1e9
for l < r {
m := (l + r) >> 1
if f(m) {
r = m
} else {
l = m + 1
}
}
return l
}
The code comparison shows that codeforces-go focuses more on competitive programming-specific implementations, while algorithm-pattern provides a more general approach to algorithms.
:memo: LeetCode of algorithms with golang solution(updating).
Pros of awesome-golang-algorithm
- Broader coverage of algorithms and data structures beyond competitive programming
- More organized structure with categorized algorithms
- Includes explanations and comments for better understanding
Cons of awesome-golang-algorithm
- Less focused on specific competitive programming platforms
- May not cover as many advanced or niche algorithms used in competitions
- Updates might be less frequent compared to codeforces-go
Code Comparison
codeforces-go:
func solve(n int, a []int) int {
sort.Ints(a)
return a[n/2]
}
awesome-golang-algorithm:
func BinarySearch(arr []int, target int) int {
left, right := 0, len(arr)-1
for left <= right {
mid := left + (right-left)/2
if arr[mid] == target {
return mid
} else if arr[mid] < target {
left = mid + 1
} else {
right = mid - 1
}
}
return -1
}
The codeforces-go example shows a concise solution for a specific problem, while the awesome-golang-algorithm example demonstrates a more general-purpose implementation of a common algorithm with detailed steps.
【未来服务器端编程语言】最全空降golang资料补给包(满血战斗),包含文章,书籍,作者论文,理论分 析,开源框架,云原生,大佬视频,大厂实战分享ppt
Pros of Introduction-to-Golang
- Comprehensive learning resource for Go beginners
- Covers a wide range of Go topics and concepts
- Includes practical examples and exercises
Cons of Introduction-to-Golang
- Less focused on competitive programming
- May not provide advanced algorithmic solutions
- Updates less frequently compared to codeforces-go
Code Comparison
Introduction-to-Golang (basic Go syntax):
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
codeforces-go (competitive programming solution):
package main
import (
"bufio"
"os"
)
func solve(in *bufio.Reader, out *bufio.Writer) {
// Problem-specific solution
}
The Introduction-to-Golang repository is better suited for beginners learning Go from scratch, offering a structured approach to understanding the language. On the other hand, codeforces-go is tailored for competitive programmers, providing solutions to Codeforces problems and focusing on algorithmic challenges. While Introduction-to-Golang covers a broader range of topics, codeforces-go offers more specialized content for algorithm enthusiasts and those preparing for coding competitions.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
ç®æ³ç«èµæ¨¡æ¿åº by çµè¶å±±è¾åº ðð¡ð
ç®æ³ Algorithm
ç±äºç®æ³ç¥è¯ç¹ç¹æï¼å°èªå·±å¦ä¹ å°çç®æ³ãåè¿çé¢ç®åç±»æ´ç好æ¯æå¿ è¦çã
ä¸ä¸ªç®æ³æ¨¡æ¿åºå½æ¶µç以ä¸å ç¹ï¼
- 对该ç®æ³çåºæ¬ä»ç»ï¼æ ¸å¿ææ³ãå¤æ度çï¼
- åèé¾æ¥æ书ç±ç« èï¼è®²å¾æ¯è¾å¥½çèµæï¼
- 模æ¿ä»£ç ï¼ä»£ç 注éã使ç¨è¯´æï¼
- 模æ¿è¡¥å ï¼å¸¸è§é¢åä¸çé¢å¤ä»£ç ã建模æå·§çï¼
- ç¸å ³é¢ç®ï¼æ¨¡æ¿é¢ãç»å ¸é¢ãæ维转æ¢é¢çï¼
ç®æ³ç®å½
ä¸äºè§£ Goï¼å¿«éå ¥é¨æç¨
- éå论ä¸ä½è¿ç®
- æ°æ®ç»æ
- åè°æ monotone_stack.go
- åè°éå monotone_queue.go
- äºç»´åè°éå
- å端éå deque.go
- å ï¼ä¼å
éåï¼heap.go
- æ¯æä¿®æ¹ãå é¤æå®å ç´ çå
- æå é¤å
- 对顶维
- åç¼ä¸ä½æ°
- æ»å¨çªå£å k å°å ç´ å
- 并æ¥é union_find.go
- ç¹æ并æ¥é
- è¾¹æ并æ¥éï¼ç§ç±»å¹¶æ¥éï¼
- å¯æä¹ å并æ¥é
- åæ»å¹¶æ¥é & å¨æå¾è¿éæ§
- ç¨ç表ï¼ST 表ï¼sparse_table.go
- æ ç¶æ°ç» fenwick_tree.go
- å·®åæ ç¶æ°ç»ï¼æ¯æåºé´å ãåºé´æ±åï¼
- äºç»´å·®åæ ç¶æ°ç»
- æ å¥æ & ä¸ç»´ååº
- 线段æ segment_tree.go
- 线段æ äºå
- 延è¿æ è®°ï¼ææ è®°ï¼
- å¨æå¼ç¹
- 线段æ å并
- 线段æ åè£
- æä¹ åï¼ä¸»å¸æ ï¼
- 0-1 线段æ segment_tree01.go
- å·¦åæ ï¼å¯å¹¶å ï¼leftist_tree.go
- ç¬å¡å°æ cartesian_tree.go
- äºåæç´¢æ å ¬å ±æ¹æ³ bst.go
- Treap treap.go
- 伸å±æ splay.go
- å¨ææ LCT link_cut_tree.go
- 红é»æ red_black_tree.go
- æ¿ç½ªç¾æ scapegoat_tree.go
- k-d æ kd_tree.go
- çæµèæ ï¼ODTï¼
- æ ¹å·åæ²»ãåå sqrt_decomposition.go
- è«éç®æ³ mo.go
- æ®éè«é
- 带修è«é
- åæ»è«é
- æ ä¸è«é
- å符串 strings.go
- å符串åå¸
- KMP
- pi å½æ°
- border
- æå°å¾ªç¯è
- fail æ ï¼å¤±é æ / border æ ï¼
- æ©å± KMPï¼Z algorithmï¼
- æå°è¡¨ç¤ºæ³
- æé¿åæå串
- Manacher ç®æ³
- åæèªå¨æºï¼åææ ï¼PAMï¼pam.go
- åç¼æ°ç»ï¼SAï¼
- åç¼èªå¨æºï¼SAMï¼sam.go
- åå
¸æ trie.go
- å¯æä¹ ååå ¸æ
- 0-1 åå
¸æ trie01.go
- æ大å¼æå
- 第 k 大å¼æå
- å é¤å ç´
- å¯æä¹ å 0-1 åå ¸æ
- ãç 究ã0-1 åå ¸æ ä¸æå¤æå¤å°ä¸ªèç¹
- AC èªå¨æº acam.go
- æ°å¦
- æ°è®º math.go
- è¾è½¬ç¸é¤æ³ï¼æå¤§å ¬å æ° GCDï¼
- 类欧å éå¾ç®æ³ ââ(ai+b)/mâ
- Pollard-Rho è´¨å æ°å解ç®æ³
- åæ°çï¼åæææ¯ç¹å°¼çæ³ï¼
- 欧æçï¼çº¿æ§çï¼
- 欧æå½æ°
- åæ ¹
- æ©å± GCD
- äºå ä¸æ¬¡ä¸å®æ¹ç¨
- éå
- 线æ§æ±éå
- ä¸å½å©ä½å®çï¼CRTï¼
- æ©å±ä¸å½å©ä½å®ç
- 离æ£å¯¹æ°
- 大æ¥å°æ¥ç®æ³ï¼BSGSï¼
- æ©å±å¤§æ¥å°æ¥ç®æ³
- äºæ¬¡å©ä½
- Jacobi 符å·
- N 次å©ä½
- å¢å¡æ¯å®ç
- æ©å±å¢å¡æ¯å®ç
- å¡ç¹å °æ°
- é»æ éæ°
- é£ç½å»¶æ°
- æ¯ç¹ææ°
- 第ä¸ç±»æ¯ç¹ææ°ï¼è½®æ¢ï¼
- 第äºç±»æ¯ç¹ææ°ï¼åéï¼
- è´å°æ°
- 欧ææ°
- æ°è®ºååï¼æ´é¤ååï¼
- è«æ¯ä¹æ¯å½æ°
- è«æ¯ä¹æ¯åæ¼
- äºè´¨è®¡æ°é®é¢
- GCD æ±åé®é¢
- ææç
- ç»åæ°å¦ math_comb.go
- 常è§æ¨¡å
- 常ç¨æçå¼
- 容æ¥åç
- å¿«éå éå¶åæ¢ FFT math_fft.go
- å¿«éæ°è®ºåæ¢ NTT math_ntt.go
- å å«å¤é¡¹å¼å ¨å®¶æ¡¶ï¼æ±éãå¼æ¹ççï¼
- å¿«éæ²å°ä»åæ¢ FWT math_fwt.go
- è¿åæ°ã佩å°æ¹ç¨ math_continued_fraction.go
- 线æ§ä»£æ° math_matrix.go
- ç©éµç¸å ³è¿ç®
- é«æ¯æ¶å
- è¡åå¼
- 线æ§åº
- æ°å¼åæ math_numerical_analysis.go
- èªéåºè¾æ®æ£®ç§¯å
- ææ ¼ææ¥æå¼
- 计ç®å ä½ geometry.go
- 线ä¸ç¹
- 线ä¸çº¿
- åä¸ç¹
- æå°åè¦ç
- Welzl éæºå¢éæ³
- åºå®åå¾è¦çæå¤ç¹
- æå°åè¦ç
- åä¸çº¿
- åä¸å
- åä¸ç©å½¢
- æè¿ç¹å¯¹
- å¤è¾¹å½¢ä¸ç¹
- å¤æç¹å¨å¸å¤è¾¹å½¢å $O(\log n)$
- å¤æç¹å¨ä»»æå¤è¾¹å½¢å
- 转è§æ³ï¼ç»è®¡ç»æ°ï¼
- å¸å
- æè¿ç¹å¯¹
- æ转å¡å£³
- åå¹³é¢äº¤
- åå¼è®º games.go
- SG å½æ°
- æ°è®º math.go
- å¨æè§å dp.go
- èå
- 0-1 èå
- å®å ¨èå
- å¤éèå
- äºè¿å¶ä¼å
- åè°éåä¼å
- åä½åç¼åä¼åï¼æ±æ¹æ¡æ°ï¼
- åç»èå
- æ ä¸èå ï¼ä¾èµèå ï¼
- åå ¸åºæå°æ¹æ¡
- çº¿æ§ DP
- æ大å段å
- LCS
- LPS
- LIS
- çå°æ²æ¯å®ç
- LCIS
- é¿åº¦ä¸º m ç LIS 个æ°
- æ¬è´¨ä¸åååºå个æ°
- åºé´ DP
- ç¯å½¢ DP
- åå¼ DP
- æ¦ç DP
- ææ DP
- ç¶å DP
- å ¨æå DP
- æ è¡åé®é¢ï¼TSPï¼
- åé DP
- é«ç»´åç¼åï¼SOS DPï¼
- æ头 DP
- æ°ä½ DP
- è®°å¿åæç´¢ï¼åæ¶è·ä¸ä¸çï¼
- åå¢ä¼å DP
- æçä¼å DPï¼CHTï¼
- WQS äºåä¼å DPï¼å¸ä¼å DP / 带æäºåï¼
- æ å½¢ DP
- æ çç´å¾ä¸ªæ°
- å¨ä»»ä¸ç´å¾ä¸çèç¹ä¸ªæ°
- æ ä¸æ大ç¬ç«é
- æ ä¸æå°é¡¶ç¹è¦ç
- æ ä¸æå°æ¯é é
- æ ä¸æ大å¹é
- æ¢æ ¹ DPï¼äºæ¬¡æ«ææ³ï¼
- ç®ååæ³
- ç»´æ¤æ大次大åæ³
- ååç¼å解åæ³ï¼éç¨æ§æ广ï¼
- èå
- å¾è®º graph.go
- é¾å¼ååæ
- DFS 常ç¨æå·§
- BFS 常ç¨æå·§
- 欧æåè·¯å欧æè·¯å¾
- æ åå¾
- æåå¾
- å®å ¨å¾
- å²ç¹
- å²è¾¹ï¼æ¡¥ï¼
- åè¿éåéï¼BCCï¼
- v-BCC
- e-BCC
- ä»äººæ & åæ¹æ
- æçè·¯
- Dijkstra
- SPFAï¼éåä¼åç Bellman-Fordï¼
- å·®å约æç³»ç»
- Floyd-Warshall
- Johnson
- 0-1 BFSï¼å端éå BFSï¼
- åå ¸åºæå°æçè·¯
- åä½æçè·¯
- æå°ç¯
- æå°æ¯å¦çº³æ
- æå°çææ ï¼MSTï¼
- Kruskal
- Prim
- å度éå¶æå°çææ
- 次å°çææ
- æ¼åé¡¿è·ç¦»æå°çææ
- æå°å·®å¼çææ
- æå°æ å½¢å¾
- æ±åç®æ³
- äºåå¾å¤å®ï¼æè²ï¼
- äºåå¾æ¾å¥ç¯
- äºåå¾æ大å¹é
- åçå©ç®æ³
- 带æäºåå¾æ大å®ç¾å¹é
- KuhnâMunkres ç®æ³
- æææåº
- 强è¿éåéï¼SCCï¼
- Kosaraju
- Tarjan
- 2-SAT
- åºç¯æ
- æ大æµ
- Dinic
- ISAP
- HLPP
- æå°è´¹ç¨æ大æµ
- SPFA
- Dijkstra
- ä¸å ç¯è®¡æ°
- åå ç¯è®¡æ°
- æ ä¸é®é¢ graph_tree.go
- ç´å¾
- éå¿
- ç¹åæ²»
- ç¹åæ
- æè¿å
Œ
񇝆
ï¼LCAï¼
- åå¢
- ST 表
- Tarjan
- æ ä¸å·®å
- èæ
- éé¾ååï¼HLDï¼
- é¿é¾åå
- æ ä¸å¯åå¼å并ï¼small to largeï¼
- æ大å°å并
- è½»éå¿åå并
- æ åå
- Prufer åºå
- å
¶ä»
- ä½è¿ç®ç¬è®° bits.go
- bitset
- åºé´ä½è¿ç® trickï¼å« GCDï¼
- äºå ä¸å sort.go
- äºåçæ¡
- 0-1 åæ°è§å
- æ´ä½äºå
- æç´¢ search.go
- æ举æå
- æ举ç»å
- çæä¸ä¸ä¸ªæå
- 康æå±å¼
- é康æå±å¼
- æ举åé
- Gosper's Hack
- æåæ举ï¼Meet in the middleï¼
- è¶ å¤§èå é®é¢
- éæºç®æ³ rand.go
- 模æéç«
- åºç¡ç®æ³ common.go
- ç®æ³æè·¯æ´ç
- åç»å¾ªç¯
- æ»å¨çªå£
- åç¼å
- åä½åç¼å
- äºç»´åç¼å
- è±å½¢åºåå
- æååç¼å
- è±å½¢è¾¹çå
- çè
°ç´è§ä¸è§å½¢åºåå
- éåå¡åºåå
- äºé¶å·®å
- äºç»´å·®å
- è±å½¢äºç»´å·®å
- 离æ£å
- æ项 misc.go
- ä½è¿ç®ç¬è®° bits.go
- å¿«éè¾å ¥è¾åºæ¨¡æ¿ io.go
- 交äºé¢å interactive.go
åç±»é¢å
- æ»å¨çªå£ä¸åæéï¼å®é¿/ä¸å®é¿/ååºå/ååºå/ä¸æé/åç»å¾ªç¯ï¼
- äºåç®æ³ï¼äºåçæ¡/æå°åæ大å¼/æ大åæå°å¼/第Kå°ï¼
- åè°æ ï¼åºç¡/ç©å½¢é¢ç§¯/è´¡ç®æ³/æå°åå ¸åºï¼
- ç½æ ¼å¾ï¼DFS/BFS/综ååºç¨ï¼
- ä½è¿ç®ï¼åºç¡/æ§è´¨/æä½/è¯å¡«/æçå¼/æç»´ï¼
- å¾è®ºç®æ³ï¼DFS/BFS/æææåº/æçè·¯/æå°çææ /äºåå¾/åºç¯æ /欧æè·¯å¾ï¼
- ð¥å¨æè§åï¼å ¥é¨/èå /ç¶ææº/åå/åºé´/ç¶å/æ°ä½/æ°æ®ç»æä¼å/æ å½¢/åå¼/æ¦çææï¼
- 常ç¨æ°æ®ç»æï¼åç¼å/å·®å/æ /éå/å /åå ¸æ /并æ¥é/æ ç¶æ°ç»/线段æ ï¼
- æ°å¦ç®æ³ï¼æ°è®º/ç»å/æ¦çææ/åå¼/计ç®å ä½/éæºç®æ³ï¼
- è´ªå¿ä¸æç»´ï¼åºæ¬è´ªå¿çç¥/åæ/åºé´/åå ¸åº/æ°å¦/æç»´/èçæ¥è½¬å¼¯/æé ï¼
- é¾è¡¨ãäºåæ ä¸å溯ï¼ååæé/å¿«æ ¢æé/DFS/BFS/ç´å¾/LCA/ä¸è¬æ ï¼
- å符串ï¼KMP/Zå½æ°/Manacher/å符串åå¸/ACèªå¨æº/åç¼æ°ç»/ååºåèªå¨æºï¼
欢è¿å ³æ³¨ Bç«@çµè¶å±±è¾åº
å¦ä½éæ©é¢ç® How to Choose Problems
Rating < 2100
è¿ä¸é¶æ®µä¸»è¦ç®æ æ¯æé«å¯¹é®é¢çè§å¯è½åãåæé é¢å¯ä»¥é对æ§å°è®ç»è¿ä¸ç¹ã
éæ©é¾åº¦å¨èªå·± rating å° rating+200 èå´å çæé é¢ (tag: constructive algorithms)ï¼æç §è¿é¢äººæ°éåºåé¢ï¼æ¯å¦ [1700,1900] åºé´çå°±æ¯ä¸é¢è¿ä¸ªé¾æ¥ï¼
https://codeforces.com/problemset?order=BY_SOLVED_DESC&tags=constructive+algorithms%2C1700-1900
éè¿å¤§éçæé é¢è®ç»ï¼æé«è§å¯è½åï¼å¿«éæ¾å°åé¢å ¥å£ãå ·ä½è§æå¨ç¥ä¹ä¸çè¿ç¯ åçã
Rating >= 2100ï¼ä¸ªäººè®ç»ç¨ï¼ä» ä¾åèï¼
è§è¯æ´é«çå±±ãæ´å¹¿çæµ·ã
æ人æ°ä»é«å°ä½ï¼å 2200+ çé¢ç®ã建议ä¸è®¾ç½®é¾åº¦ä¸éï¼ç±äºæ人æ°æåºï¼é¾åº¦åä¸ä¼å¤ªé«ï¼ä¸è®¾ä¸éå¯ä»¥é¿å éè¿é«å好é¢ã
- æç §æ´è°·éè¿äººæ°æåºç CF é¢å
- æé é¢ 2200+ï¼é»ç¼æç©è½åã
- DP 2200+ï¼å ä¹æ¯åºé½æ DPã
- æ°å¦ç»¼åï¼æ°è®ºãç»åæ°å¦ãæ¦çææç 2200+ï¼å å« 6 个 tagã
- å¾è®ºç»¼åï¼å¾è®º+æ ä¸é®é¢ 2200+ï¼å å« 7 个 tagã
- å符串 2200+ï¼æ°æ®ç»æé¢ä¸å¥½çéï¼å¯ä»¥æ¾æ ç¶æ°ç»/线段æ çé¢åï¼è¿éåªåç¬çéå符串çé¢ã
- äº¤äº 2200+ï¼å¶å°ååï¼äºè§£ä¸äºè§£é¢å¥è·¯ã
- åå¼ 2000+ï¼ä¹éåé»ç¼æç©ãç±äºé¢ç®æ¯è¾å°ï¼ä» 2000 å¼å§çéã
æç Codeforces è´¦å·
æµè¯å对æ Testing
ç¼åä¸ä¸ª run(io.Reader, io.Writer)
å½æ°æ¥å¤çè¾å
¥è¾åºãè¿æ ·åççç±æ¯ï¼
- å¨
main
ä¸è°ç¨run(os.Stdin, os.Stdout)
æ¥æ§è¡ä»£ç ï¼ - æµè¯æ¶ï¼å°æµè¯æ°æ®è½¬æ¢æ
strings.Reader
å½ä½è¾å ¥ï¼å¹¶ç¨ä¸ä¸ªstrings.Builder
æ¥æ¥æ¶è¾åºï¼å°è¿äºè ä¼ å ¥run
ä¸ï¼ç¶åå°±è½æ¯è¾è¾åºä¸çæ¡äºï¼ - 对ææ¶éè¦å®ç°ä¸ä¸ªæ´åç®æ³
runAC
ï¼åæ°årun
ä¸æ ·ãéè¿ éæºæ°æ®çæå¨ æ¥çææ°æ®ï¼åå«ä¼ å ¥runAC
årun
ï¼éè¿æ¯å¯¹åèªçè¾åºï¼æ¥æ£æ¥run
ä¸çé®é¢ã
å ·ä½å¯ä»¥è§ Codeforces 代ç ä»åº mainï¼ææé交äºé¢ç代ç åå ¶å¯¹åºæµè¯å ¨é¨æç §ä¸è¿°æ¡æ¶å®ç°ã
ä¾å¦ï¼1439C_test.go
交äºé¢çåæ³è¦å¤æä¸äºï¼éè¦ææ¶åè¾å ¥è¾åºçå°æ¹æ½è±¡ææ¥å£ï¼è¯¦è§ interactive_problemã
å¦ä¹ èµæåé¢ç® Resources
注ï¼ç±äºå ¥é¨ç»å ¸ä¸éäºå¾å¤åºåèµçé¢ï¼ä¸é¨åé¢ç®å¯ä»¥å¨ GYM ä¸æ¾å°ï¼è¿æ ·å¯ä»¥å°±å¯ä»¥ç¨ Go ç¼ç¨æ交äºã
ç®æ³ç«èµå ¥é¨ç»å ¸ï¼ç¬¬äºçï¼
ç®æ³ç«èµå ¥é¨ç»å ¸è®ç»æå
ç®æ³ç«èµå ¥é¨ç»å ¸è®ç»æåï¼å级çï¼
ãç®æ³ç«èµãé å¥é¢å
ç®æ³ç«èµ (ICPC, OI, etc) 论æï¼è¯¾ä»¶ï¼ææ¡£ï¼ç¬è®°ç
ç®æ³ç«èµè¯¾ä»¶å享 by hzwer
æ°æ®ç»æåç®æ³å¨æå¯è§å
The Ultimate Topic List (with Resources, Problems and Templates)
A Huge Update on The Ultimate Topic List
All the good tutorials found for Competitive Programming
The Ultimate Topic List(with Tutorials, Problems, and Templates)
GeeksforGeeks ä¸çç®æ³åé
https://github.com/hh2048/XCPC å« jiangly 模æ¿
https://www.cnblogs.com/alex-wei/p/contents.html
ã模æ¿æ´å计åãç®å½
ç®æ³å¦ä¹ ç¬è®°ï¼ç®å½ï¼
æ´è°·æ¨¡æ¿é¢ï¼å»ºè®®æé¾åº¦çéï¼
è½åå ¨é¢æå综åé¢å
Links of ICPC/CCPC Contests from China
AtCoder çãææç¨åºè®¾è®¡ç«èµã
AtCoder çï¼è»æ¬ (åç´ç·¨)
AtCoder çï¼è»æ¬ (ä¸ç´ç·¨)
AtCoder çï¼è»æ¬ (ä¸ç´ç·¨)
AtCoder çï¼è»æ¬ (çºå±çãããã¯ç·¨)
å¾ æ´ç
ãææãè®°ä¸äºæç¨çç¥å¥ç½ç«
å¶ç¶å¨ GitHub ä¸åç°çè¶ é¿å表
ç®æ³ç«èµè®ç»ä¸è¾é¾çé¨å
ç®æ³ç«èµä¸å¯è½ä¸å¤ªä¼éå°ç论æé¢
[meme] If you know at least 3 of these things and you are not red â you are doing it wrong. Stop learning useless algorithms, go and solve some problems, learn how to use binary search.
https://blog.csdn.net/calabash_boy/article/details/79973483
https://github.com/zimpha/algorithmic-library
https://www.luogu.com.cn/blog/command-block/blog-suo-yin-zhi-ding-post
https://www.luogu.com.cn/blog/Troverld/index
å ¶ä» Others
My GoLand Live Templates
and Postfix Completion
settings
Useful Tools
Another Codeforces Solve Tracker
AtCoder-Codeforces Rating converter
Rating and Difficulties
How to Interpret Contest Ratings
Codeforces: Problem Difficulties
Stay Healthy
Top Related Projects
🌍 针对小白的算法训练 | 包括四部分:①.大厂面经 ②.力扣图解 ③.千本开源电子书 ④.百张技术思维导图(项目花了上百小时,希望可以点 star 支持,🌹感谢~)推荐免费ChatGPT使用网站
✅ Solutions to LeetCode by Go, 100% test coverage, runtime beats 100% / LeetCode 题解
A curated list of awesome Go frameworks, libraries and software
算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~
:memo: LeetCode of algorithms with golang solution(updating).
【未来服务器端编程语言】最全空降golang资料补给包(满血战斗),包含文章,书籍,作者论文,理论分析,开源框架,云原生,大佬视频,大厂实战分享ppt
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot