摘要:
"hdu6049" 题意 给出一串由 $[1, n]$ 组成的 $n$ 个数,每个数字都不相同。现在要尽可能的分成多个块,每个块内的数可以任意排序,且分完块后可以交换两个块的位置,问使得最后序列有序可以最多分成几个块。 分析 首先暴力预处理出 $f[i][j]$ 表示区间 $[i, j]$ 最多可以 阅读全文
摘要:
"hdu6052" 题意 给出一个 $n m$ 的网格矩阵,每个格子都有颜色,随机选出一个子矩阵,问颜色种数的期望。 分析 那么我们可以去算所有矩阵的颜色种数之和,也就是每种颜色出现过的矩阵的个数之和,除以子矩阵的个数就是答案。 为了避免重复,我们要规定哪些矩阵属于某个格子。如果一些格子颜色为 $1 阅读全文
摘要:
"hdu6041" 题意 给出一个 "仙人掌" 。 如果一个无向连通图的任意一条边最多属于一个简单环,我们就称之为仙人掌。所谓简单环即不经过重复的结点的环。 求前 $K$ 小生成树 。 分析 仙人掌中每个环中我们最多可以删掉一条边,题目就变成了有 $M$ 个数组,每次从每个数组中分别取一个数字并求和 阅读全文
摘要:
"hdu1269" 题意 判断对于任意两点是否都可以互相到达(判断有向图强连通分量个数是否为 1 )。 分析 Tarjan 算法实现。 code cpp include typedef long long ll; using namespace std; const int MAXN = 2e5 + 阅读全文