GitHub 基本操作
创建 GitHub 仓库
登录 GitHub。
点击右上角的 + 图标,选择 New repository。
填写仓库名称、描述,并选择是否公开(public)或私有(private)。
点击 Create repository,记下仓库的 HTTPS 或 SSH 链接。
初始化本地项目并与 GitHub
关联
在终端中执行以下步骤:
1234567891011121314# 导航到项目目录cd /path/to/your/project# 初始化 Git 仓库git init# 添加项目文件git add.# 提交更改git commit -m "Initial commit"# 将远程仓库添加为 origin(使用 ssh)git remote add origin git@github.com:your_username/your_repository.git
推送本地项目到 GitHub
推送项目的主分支(通常是 main 或 master):
12git branch -M main # 如果是 master 分支,可以忽略此行git push ...
LaTeX常用数学公式速查表
基础符号
上标和下标
上标:x^2 →
下标:x_i →
组合:x^2_i →
分数
简单分数:\frac{a}{b} →
连分数:\frac{1}{\frac{1}{2}} →
根号
平方根:\sqrt{x} →
n次方根:\sqrt[n]{x} →
运算符号
基本运算
加:+ →
减:- →
乘:\times →
除:\div →
点乘:\cdot →
关系运算
等于:= →
不等于:\neq →
大于:> →
小于:< →
大于等于:\geq →
小于等于:\leq →
约等于:\approx →
集合符号
基本集合
属于:\in →
不属于:\notin →
包含:\subset →
真包含:\subseteq →
并集:\cup →
交集:\cap →
空集:\emptyset →
函数符号
三角函数
正弦:\sin x →
余弦:\cos x →
正切:\tan x →
余切:\cot x →
对数函数
对数:\log x →
...
项目名称
一句话描述项目核心功能
📑 目录
快速开始
功能特点
详细文档
常见问题
贡献指南
⚡ 快速开始
1234git clone https://github.com/username/repocd reponpm installnpm start
🎯 功能特点
✨ 核心功能1
🚀 核心功能2
💡 核心功能3
📖 详细文档
安装要求
需求1
需求2
配置说明
12# 配置示例key: value
❓ 常见问题
问题1:如何开始?
详细解答...
问题2:如何配置?
详细解答...
🤝 贡献指南
Fork 本仓库
创建分支 git checkout -b feature/xxx
提交更改 git commit -am 'Add xxx'
推送分支 git push origin feature/xxx
提交 Pull Request
📝 许可证
MIT © [Your Name]
📮 联系方式
作者:名字
邮箱:example@email.com
Web 应用部署指南
本文将介绍如何使用 Render 和 Vercel 来部署完整的 Web 应用。我们将使用
Render 部署后端服务和数据库,使用 Vercel 部署前端应用。
1. 数据库部署 (Render)
1.1 创建 MySQL 数据库
登录 Render 控制台
点击 “New +” 按钮
选择 “MySQL”
配置数据库:
填写数据库名称
选择地区(建议选择离用户较近的地区)
选择合适的计划(有免费选项)
设置数据库用户名和密码
123456# Render 会提供类似这样的数据库连接信息:Host: dpg-xxxxx.render.comPort: 5432Database: dbnameUser: usernamePassword: xxxxxxxxx
1.2 数据库配置
创建完成后,Render
会提供数据库连接信息。请保存好这些信息,后续会在后端配置中使用:
1234567891011# 后端配置示例 (Python)DATABASES = { 'default': { 'ENGINE': 'django.db.backen ...
Python环境变量配置指南
Python环境变量的正确配置对于Python开发至关重要。本文将详细介绍如何在不同操作系统中配置Python环境变量,以及一些常见问题的解决方案。
1. 什么是环境变量
环境变量是操作系统中的一种重要的系统配置,它们包含了程序运行时所需的信息。对于Python来说,环境变量主要用于:
指定Python解释器的位置
设置Python包的搜索路径
配置Python第三方库的位置
设置项目相关的配置信息
2. Windows系统配置
2.1 系统环境变量设置
在Windows系统中配置Python环境变量的步骤:
右键“此电脑“ → “属性” → “高级系统设置” → “环境变量”
在“系统变量“中找到“Path“
点击“编辑“,添加Python安装目录和Scripts目录
12C:\Python39\C:\Python39\Scripts\
2.2 验证配置
打开命令提示符,输入以下命令验证配置:
12python --versionpip --version
2.3 临时环境变量
在命令行中临时设置环境变量:
1set PYTHONPATH=C ...
DSU (并查集) 模板详解
1. 简介
并查集(Disjoint Set Union,简称
DSU)是一种用于处理不相交集合的合并与查询问题的数据结构。它支持以下两种操作:
合并(Union):将两个不同的集合合并为一个集合
查询(Find):查询某个元素属于哪个集合
并查集的主要特点是:
支持快速进行集合的合并和查询操作
时间复杂度接近 O(1)
空间复杂度 O(n)
2. 实现原理
2.1 基本结构
并查集使用树形结构来表示集合,每个集合都是一棵树。树中的每个节点都有一个父节点,根节点的父节点是自己。
2.2 核心操作
初始化:每个元素初始时都是一个独立的集合,父节点指向自己
查找:沿着父节点不断向上查找,直到找到根节点
合并:将两个集合的根节点相连,使其中一个成为另一个的父节点
路径压缩:在查找过程中,将路径上的所有节点直接连接到根节点,优化后续查询
3. 模板代码
12345678910111213141516171819202122232425262728293031323334353637383940struct DSU { std::vector< ...
RMQ (区间最值查询) 模板详解
1. 简介
RMQ(Range Minimum
Query)是一种用于解决区间最值查询问题的数据结构。它能够在 O(1)
的时间复杂度内查询任意区间的最小值(或最大值)。本模板采用了 ST
表(Sparse Table)和分块优化的混合策略,实现了更高效的查询。
主要特点:
支持任意类型的比较操作
预处理时间复杂度 O(n log n)
查询时间复杂度 O(1)
空间复杂度 O(n log n)
2. 实现原理
2.1 基本结构
该实现结合了多种优化技术:
ST 表用于处理大区间查询
分块处理用于优化小区间查询
预处理块内前缀最小值和后缀最小值
使用位运算优化块内查询
2.2 核心策略
分块处理:
将数组分成固定大小(64)的块
对每个块预处理内部信息
ST 表优化:
用于处理跨越多个块的查询
保证 O(1) 的查询时间复杂度
前缀/后缀数组:
pre[] 存储每个位置到所在块开始的最小值
suf[] 存储每个位置到所在块结束的最小值
位运算优化:
使用 64 位整数存储块内状态
通过位运算快速查询块内最小值
3. 模板代 ...
线段树 (Segment Tree)
模板详解
1. 简介
线段树是一种用于处理区间查询和修改操作的树形数据结构。它能够在 O(log
n)
的时间复杂度内完成单点修改和区间查询操作。本模板采用了模板编程的方式,支持自定义信息类型,实现了灵活且高效的区间操作。
主要特点:
支持自定义信息类型和合并操作
单点修改时间复杂度 O(log n)
区间查询时间复杂度 O(log n)
支持区间第一个/最后一个满足条件的位置查询
2. 实现原理
2.1 基本结构
线段树的核心是将区间划分为多个子区间:
每个节点代表一个区间
左右子节点分别代表区间的左右半部分
叶子节点代表单个元素
2.2 核心策略
信息合并:
通过自定义的 Info 类型实现信息的存储
使用运算符重载 operator+ 定义区间信息的合并方式
区间管理:
使用完全二叉树存储区间信息
动态维护区间信息的更新和查询
二分策略:
利用二分思想处理区间查询
实现查找第一个/最后一个满足条件的位置
3. 模板代码
12345678910111213141516171819202122232425262728293 ...
组合数 (Combinatorics)
模板详解
1. 简介
组合数计算是竞赛中常见的数学问题。本模板实现了高效的组合数计算,支持阶乘、逆元和二项式系数的快速计算。模板采用预处理的方式,结合逆元优化,实现了
O(1) 的查询复杂度。
主要特点:
支持动态扩容的预处理
O(n) 的预处理时间复杂度
O(1) 的查询时间复杂度
支持阶乘、逆元和组合数计算
2. 实现原理
2.1 基本概念
阶乘:
n! = n × (n-1) × … × 2 × 1
用于计算排列组合数
逆元:
在模运算下的乘法逆元
用于处理除法运算
组合数:
C(n,m) = n! / (m! × (n-m)!)
表示从n个物品中选m个的方案数
2.2 核心策略
预处理:
预处理阶乘和阶乘逆元
动态扩容避免内存浪费
逆元优化:
使用费马小定理计算逆元
利用逆元处理除法运算
3. 模板代码
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 ...
扩展欧几里得算法
(Extended GCD) 模板详解
1. 简介
扩展欧几里得算法(Extended
GCD)是欧几里得算法的扩展版本,不仅可以计算两个数的最大公约数,还可以找到一组整数解(x,y)满足贝祖等式:ax
+ by =
gcd(a,b)。这个算法在解决线性同余方程和求解模逆元等问题中有重要应用。
主要特点:
计算最大公约数(GCD)
求解贝祖等式的整数解
用于求解线性同余方程
可用于计算模逆元
2. 实现原理
2.1 基本概念
贝祖等式:
对任意整数a,b,存在整数x,y使得:ax + by = gcd(a,b)
这样的x,y称为贝祖系数
最大公约数:
gcd(a,b)是同时整除a和b的最大正整数
可以通过辗转相除法求得
2.2 核心策略
递归过程:
基于欧几里得算法的递归
在回溯过程中计算贝祖系数
解的构造:
从最简单情况开始回溯
逐步构造完整解
3. 模板代码
123456789101112int exgcd(int a, int b, int &x, int &y) { // 递归边界 if (!b) { ...