随笔分类 -  蓝桥杯B组国赛 2018

摘要:题解 依据数据范围,暴力枚举自然不可行,则应当转变思维。 gcd(i, j) = d 表示 (i, j) 的最大公约数为 d,而 count(d) 则表示最大公约数为 d 的数对的个数,count(d) * d * d 则求解的为最大公约数为 d 的所有数的和,此时问题的核心则转化为如何求 coun 阅读全文
posted @ 2020-11-13 21:33 Fool_one 阅读(284) 评论(0) 推荐(0)
摘要:题解 该题考察经典算法,可我还是太菜了...,不会做/(ㄒoㄒ)/~~。 正解应该是 dp + 前缀和优化,只解 n == 1 或暴力 dp 都会超时,怎么看出来的呢? dp: f[i][j][k] 表示第 i 层在 [j, k] 区间搭积木的总方案数,dp 方程很显然是 f[i][j][k] = 阅读全文
posted @ 2020-11-13 00:20 Fool_one 阅读(254) 评论(0) 推荐(0)
摘要:题解 当你第一次看到这个题的时候,你会想到什么算法呢? 当要求最小步数的时候,很显然,最快想到应该是 bfs,而非其它算法,这里需要注意一点的是,从时刻 m1 到 m2,我们需要求解的是时刻差,而与具体时刻是没有关系的,此时我们就可以从 0 开始,到其它任意时刻,是可以少一重循环的。 另外 bfs( 阅读全文
posted @ 2020-11-12 16:41 Fool_one 阅读(231) 评论(0) 推荐(0)