• Stars
    star
    4,842
  • Rank 8,685 (Top 0.2 %)
  • Language
    Go
  • License
    MIT License
  • Created about 5 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

算法竞赛模板库 by 灵茶山艾府 💭💡🎈

算法竞赛模板库 by 灵茶山艾府 💭💡🎈

算法 Algorithm

由于算法知识点繁杂,将自己学习到的算法、做过的题目分类整理好是有必要的。

一个算法模板应当涵盖以下几点:

  • 对该算法的基本介绍(核心思想、复杂度等)
  • 参考链接或书籍章节(讲的比较好的资料)
  • 模板代码(可以包含一些注释、使用说明)
  • 模板补充内容(常见题型中的额外代码、建模技巧等)
  • 相关题目链接(模板题、经典题、思维转换题等)

算法目录

不了解 Go?快速入门教程

欢迎关注 bilibili@灵茶山艾府,高质量算法教学,持续输出中!

如何选择题目 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(个人训练用,仅供参考)

大开脑洞

数学抽象

建模转换

我的 Codeforces 账号

0x3F

测试及对拍 Testing

编写一个 run(io.Reader, io.Writer) 函数来处理输入输出。这样写的理由是:

  • main 中调用 run(os.Stdin, os.Stdout) 来执行代码;
  • 测试时,将测试数据转换成 strings.Reader 当作输入,并用一个 strings.Builder 来接收输出,将这二者传入 run 中,然后就能比较输出与答案了;
  • 对拍时需要实现一个暴力算法 runAC,参数和 run 一样。通过 随机数据生成器 来生成数据,分别传入 runACrun,通过比对各自的输出,来检查 run 中的问题。

具体可以见 Codeforces 代码仓库 main,所有非交互题的代码及其对应测试全部按照上述框架实现。

例如:1439C_test.go

交互题的写法要复杂一些,需要把涉及输入输出的地方抽象成接口,详见 interactive_problem

学习资料及题目 Resources

注:由于入门经典上选了很多区域赛的题,一部分题目可以在 GYM 上找到,这样可以就可以用 Go 编程提交了。

算法竞赛入门经典(第二版)

算法竞赛入门经典训练指南

算法竞赛入门经典训练指南(升级版)

算法竞赛进阶指南

算法竞赛入门到进阶

OI Public Library(含国家队论文)

算法竞赛 (ICPC, OI, etc) 论文,课件,文档,笔记等

算法竞赛课件分享 by hzwer

算法第四版 Java 源码

数据结构和算法动态可视化

OI Wiki

CP-Algorithms

The Ultimate Topic List (with Resources, Problems and Templates)

洛谷日报

All the good tutorials found for Competitive Programming

Codeforces Problem Topics

The Ultimate Topic List(with Tutorials, Problems, and Templates)

GeeksforGeeks 上的算法合集

Pepcy 模板

F0RE1GNERS 模板

【模板整合计划】目录

算法学习笔记(目录)

洛谷模板题(建议按难度筛选)

能力全面提升综合题单

Luogu Problem List

洛谷原试炼场

Links of ICPC/CCPC Contests from China

AtCoder 版《挑战程序设计竞赛》

AtCoder 版!蟻本 (初級編)

AtCoder 版!蟻本 (中級編)

AtCoder 版!蟻本 (上級編)

AtCoder 版!蟻本 (発展的トピック編)

待整理

【杂文】记一些有用的神奇网站

偶然在 GitHub 上发现的超长列表

算法竞赛训练中较难的部分

算法竞赛中可能不太会遇到的论文题

[杂谈]OI/ACM中冷门算法

Things I don't know

[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://wcysai.github.io/

https://www.luogu.com.cn/blog/Troverld/index

其他 Others

My GoLand Live Templates and Postfix Completion settings

Useful Tools

GeoGebra

Draw Geometry

Draw Graph

OEIS

Wolfram|Alpha

UpSolve.me

Codeforces Upsolving Helper

Contests Filter

Codeforced

Codeforces Visualizer

Codeforces Solve Tracker

Another Codeforces Solve Tracker

AtCoder Problems

AtCoder Companions

AtCoder-Codeforces Rating converter

Rating and Difficulties

Open Codeforces Rating System

How to Interpret Contest Ratings

Codeforces: Problem Difficulties

Elo rating system

Stay Healthy

Exercises!

More Repositories

1

mahjong-helper

日本麻将助手:牌效+防守+记牌(支持雀魂、天凤)
Go
1,998
star
2

cp-pdf

算法竞赛相关 PDF
52
star
3

asm-x86

《x86 汇编语言:从实模式到保护模式》配套代码及工具
Assembly
51
star
4

EndlessCheng

39
star
5

mahjong-helper-gui

日本麻将助手-交互模式的配套 GUI 应用
Python
29
star
6

Books-Management

基于 Python Tkinter 开发的图书管理系统
Python
19
star
7

blog2md

博客文章转成 Markdown 格式
Python
15
star
8

acm-icpc

ICPC 2013-2015
C++
15
star
9

qq-analyze

QQ的协议分析
14
star
10

Circle-the-Cat

基于 CreateJS 实现的简单版《围住神经猫》
JavaScript
9
star
11

books_management

基于 Django 框架开发的图书管理系统
Python
8
star
12

EndlessCheng.github.io

HTML
4
star
13

AndroidUploadImages

http://jianyan.me/2015/02/02/android-file-uploads-to-the-django-server-theory-and-coding/ 文章源码
Java
4
star
14

mpython

学习编译原理后做的 Python 转汇编项目
Python
3
star
15

echo-autodoc

Automatically generate documents for Golang echo web framework
Go
2
star
16

OpenJDK-7u4-analysis

OpenJDK 7 源码剖析,一步步学习 Java 源码实现,详细到 Java 字节码和 JNI 实现。
Java
2
star
17

QuestionSet

Android 上生成考卷、调查问卷的框架
Java
2
star
18

relative-links-bug

Relative links are broken with LaTeX.
2
star
19

Hearth-Stone-Card-Number-Helper

炉石传说对手牌号助手 v1.0
Python
1
star
20

uvaoj-cpp

UVa OJ problem solutions written in C++
C++
1
star
21

defeat-me

自动 PvP 战斗的尝试
Java
1
star
22

go2cpp

Parse Go code to C++
1
star
23

gomicro-tools

微服务代码生成
Go
1
star
24

Commits-Crawler

项目 Commits 简易爬虫工具
Python
1
star
25

majsoul-rating

计算雀魂比赛场的选手 Rating,使用天凤规则
Python
1
star
26

my-python-scripts

人生苦短,快用 Python
CSS
1
star
27

my-go

一些小脚本
Go
1
star
28

Visual-Sort

使用 wxPython 做的可视化排序小程序
Python
1
star
29

PhotoViewer

Android 图片查看器,支持多点触控
Java
1
star
30

filter_modify

Modify NeverSink's filter
Python
1
star