摘要: emmmm这个题看起来非常复杂,实际上仔细一分析发现到一个点最短路的个数就是所有前驱最短路个数之和。如果在图上表示也就是以1为根的bfs搜索树,一个点的最短路个数等于每一个能够向它扩展的所有点的最短路个数之和。SPFA可以实现bfs。 先看代码吧 我们用ans数组存储每个点最短路个数。 阅读全文
posted @ 2019-04-11 19:33 锦依卫Lijilai 阅读(108) 评论(0) 推荐(0)
摘要: 按照题意,显然可以列出同余方程,k即为所求天数,再将其化为不定方程 ,那么对这个方程用扩展欧几里德算法即可得出k,q的一组解,但是方程有解的充要条件是(m – n) 和L不同时为零并且x – y是m – n和L的因子,扩展欧几里德算出的解才是方程的解 。 阅读全文
posted @ 2019-04-11 18:56 锦依卫Lijilai 阅读(100) 评论(0) 推荐(0)
摘要: 先说下暴力做法,如果[l1,r1]和[l2,r2]子串相等等价于两个区间内每个数对应相等。那么可以用并查集暴力维护,把对应相等的数的位置维护到同一个集合里去,最后答案其实就是把每个集合可以放的数个数乘起来就行了。注意:最高位不为0,如果有num个集合,则答案为9 * 10^(num – 1)。 暴力 阅读全文
posted @ 2019-04-11 18:52 锦依卫Lijilai 阅读(112) 评论(0) 推荐(0)
摘要: 原题链接:http://www.lightoj.com/volume_showproblem.php?problem=1128 原题是英文题面,大概翻译了一下: 最大的祖先 树是一个连通的无环图,在这个问题中给出一个有根树,每个点有一个权值,每个点的权值严格的大于它父亲的权值。现在给出一个点以及一个 阅读全文
posted @ 2019-04-11 18:46 锦依卫Lijilai 阅读(135) 评论(0) 推荐(0)
摘要: 严格次小生成树,关键是“严格”,如果是不严格的其实只需要枚举每条不在最小生成树的边,如果得到边权和大于等于最小生成树的结束就行。原理就是因为Kruskal非常贪心,只要随便改一条边就能得到一个非严格的次小生成树。然而是严格的QAQ,于是得搞点别的东西来实现“严格”,维护个次大值就行。依次枚举每条边, 阅读全文
posted @ 2019-04-11 13:24 锦依卫Lijilai 阅读(154) 评论(0) 推荐(0)