10 2024 档案
家谱树题解
摘要:(ACM比赛时忘了拓扑怎么写时代尻古) 假设有一个 DAG 图,那么如何写出它的拓扑排序呢?这里说一种比较常用的方法: 1.从 DAG 图中选择一个没有前驱(即入度为0)的顶点并输出。 2.从图中删除该顶点和所有以它为起点的有向边。 3.重复 1 和 2 直到当前的 DAG 图为空或当前图中不存在无
最长的Y题解
摘要:考虑将 Y 单独拎出来,用数组存储他的下标,那么将第 个 Y 转移至第 个 Y 就需要 次操作。 发现一个问题: 第一次从左移动至 需要减1,第二次从左移动需要减2…… 如图: 这似乎是一个很麻烦的问题,我们的某知名
序列题解
摘要:哈哈哈我也有个唐氏做法 也是考虑一个朴素 dp ,设 表示以 结尾的字串最长是多少,则容易想到若 和 是等比数列的一部分就一定能从 转移到 ,证明最后讲 那么如何判断 \(a_{i-1
乒乓球题解()
摘要:30pts 考场上看到这个题时,第一反应就是全部展开man慢算 诶,刚好有30分部分分可以 维护 那么使用 来记录遍历到哪一位了,当 遍历到结尾时直接让他归0即可 点击查看代码 #include<bits/stdc++.h> using namesp
卢卡斯定理学习笔记
摘要:卢卡斯定理 对于非负整数 , 和质数 ,有 \[C_{a}^{b} \equiv C_{a~mod~p}^{b~mod~p} \cdot C_{\lfloor{a/p}\rfloor}^{\lfloor{b/p}\rfloor}~~\left( {mod~p} \right)
二分图学习笔记
摘要:定义: 节点由两个集合组成,且两个集合内部没有边的图。 例如上图就是一张二分图,其中红色部分称为左部,蓝色部分称为右部(好吧也可以反过来)。 判定: 使用染色法,用两种颜色来代替左部和右部,向外拓展时如果遇到左部连左部,右部连右部就不是二分图。 bool dfs(int x){ for(int i=