摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1040 题目给出了$n$个点和$n$条无向边,即一棵基环树或者基环树森林。 如果题目给的关系是在一棵树上,就是一道经典的树形DP。现在我们考虑转化一下。 我们先找到那个环上的任意一条边,端点为 阅读全文
posted @ 2017-10-09 21:46 halfrot 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2761 直接暴力。 阅读全文
posted @ 2017-10-09 20:55 halfrot 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1041 数学xjb分析题。 大概就是推公式分析性质+乱搞。 这里有一个还不错的博客写的比较好懂:http://www.cppblog.com/zxb/archive/2010/10/18/13 阅读全文
posted @ 2017-10-08 10:48 halfrot 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2705 首先分析得题目所求$gcd(i,N)$的取值只可能是$N$的因子,则有$$Ans=\sum_{d|N}d\sum_{i=1}^N[gcd(i,N)==d]$$ $$Ans=\sum_{ 阅读全文
posted @ 2017-10-08 09:21 halfrot 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3172 对这$n$个串建立AC自动机,求每个串的出现次数。 我们在建立时对每一个经过的节点sum++,然后在fail树上从叶子节点不断向上更新,因为父亲节点代表的是孩子节点的一个后缀,所以孩子 阅读全文
posted @ 2017-10-07 21:23 halfrot 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1968 直接计算每个因子的贡献就可以了。 $Ans=\sum_{i=1}^n[\frac{n}{i}]$ 阅读全文
posted @ 2017-10-06 17:01 halfrot 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1053 假设这个最大的反素数为$x$,那么$1<p<x$中数的因子数都没有$x$多,而$x<p<n$中若出现比$x$因子数多的$p$,则可以找到一个新的更大的反素数。所以$x$就是$1<p<= 阅读全文
posted @ 2017-10-06 16:50 halfrot 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1045 我们假设每一个小朋友的代价为$x[i]$,每一次都从前面一个小朋友那里拿,这种贪心跟纸牌均摊很像,想一想很容易理解。 设最后每个小朋友能得到$ave$个糖果,所以有$a[i]+x[i] 阅读全文
posted @ 2017-10-05 21:56 halfrot 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2733 我们对每一个连通块建一棵以排名为键值的权值线段树,询问就可以用二分的方法。 然后对于块与块间加边,我们用并查集维护连通性,每次合并两个块的时候,因为线段树结构相同,可以直接合并就行了。 阅读全文
posted @ 2017-10-05 21:29 halfrot 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1005 一个prufer序列可以唯一确定一棵生成树。而prufer序列可以确定节点的度数,反过来,通过度数就可以确定prufer序列的方案数。 具体怎么做贴个黄学长的题解接跑吧…… 题解:ht 阅读全文
posted @ 2017-10-04 20:51 halfrot 阅读(136) 评论(0) 推荐(0) 编辑