摘要:
ps:非常非常重要的一个条件 m - n <= 20,考虑图的生成树,那么(u,v)之间的最短路上的边有两种情况,一是最短路不经过非生成树的边,二是经过非生成树的边。又非生成树的边只有20条,则连接的点最多有40个,所以对这40个点分别跑一次DJS,然后取最小值就行了。(换言之:如果最短路经过非生成 阅读全文
摘要:
题解:dp[ i ][ k ][0 ~ 3] :表示第 i 列状态为s(s = 0,1,2,3)时总的联通个数。 注意:dp[ i ][ k ][ 1 ] 和 dp[ i ][ k ][ 2 ] 的转移。 阅读全文
摘要:
题解:这类题一般都可以考虑枚举约数(gcd),令G = gcd(a1,a2,a3,········,an),M = max(a1,a2,········,an)。有个很显然的想法,就是算出每个数的约数,然后枚举大于G的约数。然而算约数的复杂度如果是sqrt(M),就T飞了(亲测)。考虑模仿筛素数的过 阅读全文
摘要:
ps:假设三角形的两条直角边为a,b,则 n * m / k = a * b / 2,如果等式成立,就 (2 * n * m)% k == 0,怎么构造a,b?暴力貌似不行,考虑一下gcd。注意一点:2应该乘在哪个数身上! 阅读全文