摘要: Description 大魔法师小 L 制作了 n 个魔力水晶球,每个水晶球有水、火、土三个属性的能量值。小 L 把这 n 个水晶球在地上从前向后排成一行,然后开始今天的魔法表演。 我们用 Ai,Bi,Ci 分别表示从前向后第 i 个水晶球(下标从 1 开始)的水、火、土的能量值。 阅读全文
posted @ 2020-10-01 19:14 maoyiting 阅读(655) 评论(0) 推荐(1) 编辑
摘要: 普通的树形 dp 中,常常会采用叶→根的转移形式,若子节点有多个,则需要一一枚举,将子节点(子树)的 dp 值合并。dp 的状态表示中,第一维通常是节点编号(代表以该节点为根的子树)。大多数时候,我们采用递归的方式实现树形 dp。 阅读全文
posted @ 2020-09-27 14:11 maoyiting 阅读(619) 评论(9) 推荐(0) 编辑
摘要: 「算法笔记」博弈论入门 一、公平组合游戏 ICG 1. 公平组合游戏的定义 若一个游戏满足: 游戏有两个人参与,二者轮流做出决策。 在游戏进程的任意时刻,可以执行的合法行动与轮到哪名玩家无关。 不能行动的玩家判负。 则称该游戏为一个公平组合游戏。 2. 一些说明 我们把游戏过程中面临的状态称为局面 阅读全文
posted @ 2020-09-24 15:40 maoyiting 阅读(858) 评论(0) 推荐(0) 编辑
摘要: 一、引入 康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。(摘自百度百科)通俗地说,康托展开可以用来求一个 1~n 的任意排列的排名(把 1~n 的所有排列按字典序排序,这个排列的位次就是它的排名)。康托展开可以在 O(n^2) 的复杂度内求出一个排列的排名,在用到树状数组优化时可以做到 O(n log n)。 阅读全文
posted @ 2020-09-16 18:14 maoyiting 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 二分图:如果一个图的顶点能够被分为两个集合 X,Y,满足每一个集合内部都没有边相连,那么这张图被称作是一张二分图。 匹配:在图论中,一个匹配(matching)是一个边的集合,其中任意两条边都没有公共顶点。 最大匹配:一个图所有匹配 阅读全文
posted @ 2020-09-10 16:43 maoyiting 阅读(920) 评论(0) 推荐(0) 编辑
摘要: 一、组合基础题 1. [HNOI2008] 越狱 题目大意:监狱有 n 个房间,每个房间关押一个犯人,有 m 种宗教,每个犯人会信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱。m≤10^8,n≤10^12。 Solution: 考虑取补集。 因为共有 n 个房间,每个房间有 m 个选择。则总方案数为 m^n 。 阅读全文
posted @ 2020-09-02 16:46 maoyiting 阅读(651) 评论(0) 推荐(0) 编辑
摘要: 「算法笔记」组合入门与应用 相关内容:组合入门题目选做(应用在这儿呢,可配合该文章阅读 ) 一、基础内容 (这部分内容大家应该都会了,可以直接跳过) 1. 一些定义 加法原理:一般地,做一件事,完成它可以有 \(n\) 类方法,在第一类办法中有 \(m_1\) 种不同的方法,在第二类办法中有 \(m_2\) 种不同的方法,…… 阅读全文
posted @ 2020-08-29 19:01 maoyiting 阅读(805) 评论(0) 推荐(0) 编辑
摘要: 「算法笔记」可持久化线段树 一、引入 有的时候,我们不仅需要支持修改,还需要支持访问历史版本。 这个时候普通的线段树就没法胜任了,因为每次我们都覆盖了之前的版本。 若想知道数据集在任意时间的历史状态,有没有什么方法呢? 方法一:直接记录之前得到的所有的线段树。在第 i 项操作结束后(∀i∈[1,M]),把整个线段树拷贝一遍,存 阅读全文
posted @ 2020-08-14 12:35 maoyiting 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 一、数学期望 1. 由来 在 17 世纪,有一个赌徒向法国著名数学家帕斯卡挑战,给他出了一道题目:甲乙两个人赌博,他们两人获胜的机率相等,比赛规则是先胜三局者为赢家,一共进行五局,赢家... 阅读全文
posted @ 2020-08-12 21:02 maoyiting 阅读(742) 评论(0) 推荐(0) 编辑
摘要: 「算法笔记」基础数论 续:「算法笔记」基础数论 2。 一、整除 对于两个整数 \(a,b\),存在两个唯一的整数 \(q,r\),使得 \(b=aq+r\),其中 \(0≤r<|a|\)。 特别地,若 \(r=0\),则我们称 \(a\) 整除 \(b\),记作 \(a\mid b\)。 对于两个正整数 \(a,b\), 阅读全文
posted @ 2020-08-02 20:57 maoyiting 阅读(716) 评论(2) 推荐(0) 编辑