摘要:
(ACM比赛时忘了拓扑怎么写时代尻古) 假设有一个 DAG 图,那么如何写出它的拓扑排序呢?这里说一种比较常用的方法: 1.从 DAG 图中选择一个没有前驱(即入度为0)的顶点并输出。 2.从图中删除该顶点和所有以它为起点的有向边。 3.重复 1 和 2 直到当前的 DAG 图为空或当前图中不存在无 阅读全文
摘要:
考虑将 Y 单独拎出来,用数组存储他的下标,那么将第 \(x\) 个 Y 转移至第 \(y\) 个 Y 就需要 \(a[x]-b[y]-1\) 次操作。 发现一个问题: 第一次从左移动至 \(y\) 需要减1,第二次从左移动需要减2…… 如图: 这似乎是一个很麻烦的问题,我们的某知名 \(lyh\) 阅读全文
摘要:
哈哈哈我也有个唐氏做法 也是考虑一个朴素 dp ,设 \(dp_{i}\) 表示以 \(i\) 结尾的字串最长是多少,则容易想到若 \(a_{i-1}\) 和 \(a_i\) 是等比数列的一部分就一定能从 \(dp_{i-1}\) 转移到 \(dp_i\),证明最后讲 那么如何判断 \(a_{i-1 阅读全文
摘要:
以下将状态 \(K\),\(E\),\(Y\) 用数字0,1,2表示。 考虑 \(dp\) 我们设 \(dp[a][b][c][d]\) 表示 \(K\) 用了 \(a\) 次,\(E\) 用了 \(b\) 次,\(Y\) 用了 \(c\) 次,总共交换了 \(d\) 次, 前缀和 $sum[i][ 阅读全文
摘要:
30pts 考场上看到这个题时,第一反应就是全部展开man慢算 诶,刚好有30分部分分可以 \(O(n)\) 维护 那么使用 \(tot\) 来记录遍历到哪一位了,当 \(tot\) 遍历到结尾时直接让他归0即可 点击查看代码 #include<bits/stdc++.h> using namesp 阅读全文
摘要:
卢卡斯定理 对于非负整数\(a\),\(b\)和质数\(p\),有 \[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) 阅读全文
摘要:
\(\color{lightgray}{oi 大家好,我是来介绍}\)\(\color{black}{黑}\)\(\color{lightgray}{科技的woiler}\) 科技--连续段dp 连续段dp是用来解决以下问题的: 定义一个序列 \(A\) 是合法的,当且仅当: (设序列 \(A\) 阅读全文