摘要: 矩阵快速幂。 因为任意素数长度都要满足,所以$3$必须满足,$3$一旦满足,其余的肯定满足,也就是说只要考虑字符串末尾两位即可,$dp$一下就可以算方案数了。$n$较大,可以矩阵加速。 阅读全文
posted @ 2017-05-07 18:10 Fighting_Heart 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 树状数组,倍增,枚举,$dfs$序。 对于每一次的询问,可以枚举$B$集合中的所有点,对于每一个点,在树上二分$LCA$,找到最低的更新答案。 判断是否是$LCA$可以搞个$dfs$序,将$A$集合中所有点标$1$,然后查询子树对应的区间上的区间和。 阅读全文
posted @ 2017-05-07 18:09 Fighting_Heart 阅读(589) 评论(0) 推荐(1) 编辑
摘要: 最短路。 先建一个只包含最短路的有向无环图,每一个点选择任意一条入边即可生成一个树形图,那么树的种类就等于每个点的入度乘积。 阅读全文
posted @ 2017-05-07 18:06 Fighting_Heart 阅读(384) 评论(0) 推荐(0) 编辑
摘要: $dp$。 $dp[i]$表示到$i$位置,且$i$位置建立了的最小花费,那么$dp[i] = min(dp[k]+cost[i+1][k-1])$,$k$是上一个建的位置。最后枚举$dp[i]$,加上最后一段的花费,取个最小值即可。 阅读全文
posted @ 2017-05-07 18:03 Fighting_Heart 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 贪心。 每次找到后面最近的一个能连边的连边。 阅读全文
posted @ 2017-05-07 18:00 Fighting_Heart 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 枚举,预处理。 预处理前缀$gcd$与后缀$gcd$,枚举删哪一个即可。 阅读全文
posted @ 2017-05-07 17:59 Fighting_Heart 阅读(132) 评论(0) 推荐(0) 编辑