摘要:
题目大意:康托展开和逆康托展开模板题。 题解: 注:20!约为 2e18。 代码如下 cpp include using namespace std; const int maxn=21; typedef long long LL; char s[4]; LL n,q,a[maxn],fac[max 阅读全文
摘要:
题目大意:给定一个 N N 的矩阵,点有点权,现进行 k 次从左上角到右下角的寻路操作,对于每个点可以向右或向下走。每走到一个点,若之前没走过这个点,答案加上该点点权。求进行 k 次操作后,可以获得的最大点权和是多少。 题解:对于每个点都有一个权值,且权值只能被使用一次,同一个点最多可以经过 k 次 阅读全文
摘要:
学会了 $Dinic$ 算法。 Dinic 算法的核心思想是多路增广。相比于 EK 算法,Dinic 算法利用了分层的思想,每次都寻找最短路径的增广路。时间复杂度为 $O(n^2m)$。 代码如下 cpp include using namespace std; const int maxn=1e4 阅读全文