摘要:
"ACdream1032" 题意 给出一棵树,每个节点有权值,问由 $1$ ~ $n$ 个节点组成的树块的权值和的最小值。 分析 首先发现 $n$ 很小,那么我们可以开一个二维数组 $dp[i][j]$ 表示以 $i$ 节点为树块的根节点且树块中节点的数量为 $j$ 时的最小值。 从 $u$ 节点出 阅读全文
摘要:
"hdu6040" 题意 将一个函数运行 n 次,一共得到 n 个值,有 m 次询问,每次询问第 k 小的值。 分析 考察了 $nth\_element$ 函数的运用。$nth\_element(a, a + x, a + n)$ 使得 ( $a$ 数组下标范围 $[0, n)$ ) $a[x]$ 阅读全文
摘要:
"hdu6035" 题意 给出一棵树,现在定义两点之间距离为两点间最短路径上颜色集合的大小。问任意两点间距离之和。 分析 换个方向,题目其实等价于求每种颜色在多少条路径上出现过(每种颜色对于答案的贡献),然后求和。 直接求不好求,但是我们可以求每种颜色在多少条路径上没有出现过,对于颜色 $a$,我们 阅读全文
摘要:
"hdu6038" 分析 求函数 $f$ 的构成方案,$f$ 确定下来后,$f$ 和 $b$ 的值也是一一对应的了( $f(i)=b_{f(a_i)}$ ),观察 $a$ 数组,代入 $f$ 函数,存在循环节,比如 $a[0] = 1, a[1] = 0$,那么循环节长度为 2,代入后,$f(0)= 阅读全文
摘要:
" 425 Div2 D" 题意 给出一个树形图,每次询问给出三个点,从其中选择两个作为起始点,一个终点,求从两个起始点出发(走最短路)到达终点经过的共同的点最多的数量。 分析 这种树上点与点之间距离有关的问题大多与 LCA 有关,那么我暴力枚举每个点分别作为起始点、终点,求下最大距离就好了。 co 阅读全文
摘要:
"1405 树的距离之和" 题意 给定一棵无根树,假设它有n个节点,节点编号从1到n,求任意两点之间的距离(最短路径)之和。 分析 树形DP。 首先我们让 $1$ 为根。要开两个数组 $up \ down$ 分别记录上面点、下面的点到当前点的距离之和。那么对于每个点答案就是 $up[i] + dow 阅读全文
摘要:
"poj3415" 题意 给定两个字符串,给出长度 $m$ ,问这两个字符串有多少对长度大于等于 $m$ 且完全相同的子串。 分析 首先连接两个字符串 A B,中间用一个特殊符号分割开。 按照 $sa$ 的顺序(即枚举 $height$ 值),进行分组,那么有公共前缀长大于等于 $m$ 的都分到了一 阅读全文
摘要:
"825F String Compression" 题意 给出一个字符串,你要把它尽量压缩成一个短的字符串,比如一个字符串 你可以转化成 ,长度为 3,比如 转化成 ,长度为 7, 转化为 ,长度为 3。 分析 求转换后的最短字符串,那么怎么去组合字符串中的子串是关键。 考虑 dp, dp[1... 阅读全文
摘要:
"825E Minimal Labels" 题意 给出 m 条有向边,组成有向无环图,输出一个 1 到 n 组成的排列,每个数只能出现一次,表示每个点的标号。如果有边 $(u, v)$ 那么 $label_u using namespace std; const int MAXN = 1e6 + 1 阅读全文
摘要:
"poj3693" 题意 给出一个串,求重复次数最多的连续重复子串,输出字典序最小的。 分析 "论文" 例8(P21)。 Sparse Table算法预处理出任意两个后缀串的LCP。 code cpp include include include include include using nam 阅读全文