摘要: 排列与组合 排列 \[A_{m}^{n}=\frac{n!}{(n-m)!} \]组合 \[C_{m}^{n}=\frac{A_{n}^{m}}{m!}=\frac{n!}{m!(n-m)!} \]同时,还有递推公式 \(\dots\) \[C_n^m=C_{n-1}^{m-1}+C_{n-1}^{ 阅读全文
posted @ 2024-10-17 21:51 tyccyt 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 前言 主要是一种暴力思想。。。 本文来自 wiki 与洛谷题解的整合。 应用 主要是应付随机数据(区间操作) 实现 有几个核心操作。 set实现方法 定义 struct node { intt l,r;//intt:long long mutable intt v; node(const intt 阅读全文
posted @ 2024-10-06 11:58 tyccyt 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 三个特征 最优子结构 问题最优解包含子问题的最优解,即可以通过子问题得到最优解。 无后效性 有两层含义: 在后面的推到过程中,只关心前面的状态值,不关心这个状态是怎么一步步推导出来的。 前面的状态如果已经确定,就不会收到后面状态影响 子问题重叠 不同的决策序列,到达某个相同的阶段是,可能产生重复的状 阅读全文
posted @ 2024-09-16 15:18 tyccyt 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 用途 解决一些在带权图中,最多 \(k\) 次优惠一条边权 基本步骤 分成 \(k+1\) 层,从 \(0\) 好开始,每层图与原图一样。其中第 \(i\) 层图是用了 \(i\) 次优惠到达的图。 对于所有边,若在第 \(i\) 层图中,那么就新连一条边从 \(u\) 指向第 \(n+1\) 层图 阅读全文
posted @ 2024-09-01 21:11 tyccyt 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 深搜 inline void dfs(int x) { dfs(); } 广搜 inline void bfs() { queue<int> q; q.push(···) while(!q.empty()) { ··· } } 记忆化搜索 其实就是记录了每一种状态的最优值,达到玄学剪枝效果。。。 例 阅读全文
posted @ 2024-09-01 15:30 tyccyt 阅读(11) 评论(1) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2024-08-31 18:00 tyccyt 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 本文是wiki与这篇题解的整合 定义 二分图,又称二部图,英文名叫 Bipartite graph。 二分图是什么?节点由两个集合组成,且两个集合内部没有边的图。 换言之,存在一种方案,将节点划分成满足以上性质的两个集合。 性质 如果两个集合中的点分别染成黑色和白色,可以发现二分图中的每一条边都一定 阅读全文
posted @ 2024-08-25 13:38 tyccyt 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 最大公因数 直接使用__gcd(x,y) 手写 \(\gcd\) inline int gcd(int a,int b) { if(b==0)return a; return gcd(b,a%b); } 数论分块 一般是求 \[\sum_{i=1}^{i\le n}\left\lfloor\dfra 阅读全文
posted @ 2024-08-23 17:03 tyccyt 阅读(6) 评论(0) 推荐(1) 编辑
摘要: 概率论 基本概念 概率空间 我们将三元组 \((\Omega,\mathcal{F},P)\) 称为一个概率空间,其中,\(\Omega\) 指样本空间(指明随机现象所有可能出现的结果) ,\(\mathcal{F}\) 指事件域(我们所关心的所有事件),\(P\) 概率函数(描述每一个事件发生的可 阅读全文
posted @ 2024-08-23 16:28 tyccyt 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 大部分是在wiki搬运的,只是方便我看 简介 pb_ds 库封装了很多数据结构,比如哈希(Hash)表,平衡二叉树,字典树(Trie 树),堆(优先队列)等。 就像 vector、set、map 一样,其组件均符合 STL 的相关接口规范。部分(如优先队列)包含 STL 内对应组件的所有功能,但比 阅读全文
posted @ 2024-08-23 14:17 tyccyt 阅读(39) 评论(0) 推荐(1) 编辑