08 2024 档案

摘要:大部分是上课做的笔记,包含我自己的一些思考的推导,希望可以帮助到大家! 本文在以下平台同步发送:洛谷(已通过全站推荐)、博客园。 (因为洛谷专栏更新需要重新审核全站推荐,所以更新相对博客园略有延迟) UPD 2024.11.2:撤除了引用格式并添加了分割线以分割不同结论及证明;修正了整除的 \(\K 阅读全文
posted @ 2024-08-28 15:21 Jerrycyx 阅读(321) 评论(0) 推荐(0)
摘要:原题链接 题目描述 算法 引用自 树的直径 - OI-Wiki: 若树上所有边边权均为正,则树的所有直径中点重合 证明:使用反证法。设两条中点不重合的直径分别为 \(\delta(s,t) 与 \delta(s',t')\),中点分别为 \(x\) 与 \(x'\)。显然,\(\delta(s,x) 阅读全文
posted @ 2024-08-21 19:15 Jerrycyx 阅读(37) 评论(0) 推荐(0)
摘要:最长公共上升子序列(LCIS) 原题链接:CodeForces、洛谷 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 256MB,其他语言 512MB 描述 给定两个整数序列,写一个程序求它们的最长上升公共子序列。 当以下条件满足的时候,我们将长度 \(N\) 的序 阅读全文
posted @ 2024-08-14 15:29 Jerrycyx 阅读(261) 评论(0) 推荐(0)
摘要:[HAOI2009] 逆序对数列 原题链接 题目描述 对于一个数列 \(\{a_i\}\),如果有 \(i<j\) 且 \(a_i>a_j\),那么我们称 \(a_i\) 与 \(a_j\) 为一对逆序对数。若对于任意一个由 \(1 \sim n\) 自然数组成的数列,可以很容易求出有多少个逆序对数 阅读全文
posted @ 2024-08-12 11:34 Jerrycyx 阅读(51) 评论(0) 推荐(0)
摘要:KMP namespace KMP{ int nxt[LEN]; void Init() { nxt[1]=0; for(int i=2,j=0;i<=plen;i++) { while(j && p[j+1]!=p[i]) j=nxt[j]; if(p[j+1]==p[i]) j++; nxt[i 阅读全文
posted @ 2024-08-09 21:47 Jerrycyx 阅读(23) 评论(0) 推荐(0)
摘要:并查集 定义 & 初始化 int fa[N]; void uInit() { for(int i=1;i<=n;i++) fa[i]=i; return; } 查询 int uask(int x) { if(fa[x]==x) return fa[x]; else return fa[x]=uask 阅读全文
posted @ 2024-08-09 19:47 Jerrycyx 阅读(28) 评论(0) 推荐(0)
摘要:邻接表(链式前向星)存图 定义 struct Allan{ int val; int to,nxt; }edge[M]; int idx,head[N]; 加边 inline void add(int x,int y,int z) { edge[++idx]={z,y,head[x]}; head[ 阅读全文
posted @ 2024-08-09 19:45 Jerrycyx 阅读(33) 评论(0) 推荐(0)
摘要:预处理部分 \[\max(a[i,i+2^k-1]) =\max \left\{ \begin{aligned} \max&(a[i,i+2^{k-1}-1])\\ \max&(a[i+2^{k-1},i+2^{k-1}+2^{k-1}-1]) \end{aligned} \right.= \lef 阅读全文
posted @ 2024-08-05 10:14 Jerrycyx 阅读(32) 评论(0) 推荐(0)
摘要:优秀的树 时间限制:C/C++ 2000MS,其他语言 4000MS 内存限制:C/C++ 256MB,其他语言 512MB 描述 给定一棵树,其所有边权重均为 \(1\),定义 \(f(u)=Σ_v dis(u,v)\),v 表示树上的所有结点,\(dis(u,v)\) 表示结点 \(u\) 和 阅读全文
posted @ 2024-08-02 19:37 Jerrycyx 阅读(27) 评论(0) 推荐(0)
摘要:树(tree) 时间限制:C/C++ 2000MS,其他语言 4000MS 内存限制:C/C++ 256MB,其他语言 512MB 描述 给定一个 \(n\) 个结点,\(n−1\) 条边的有根树。 第 \(i\) 条边可以用 (\(a_i,b_i\)) 来描述,它表示连接结点 \(a_i\) 和结 阅读全文
posted @ 2024-08-02 18:34 Jerrycyx 阅读(242) 评论(0) 推荐(0)