题目链接:https://www.lanqiao.cn/problems/1027/learning/
思路:
首先观察题干中对走法不同的定义:稍作停留的集合不同。
所以可以考虑这么一个DP定义。
在数轴上 d p [ i ] [ j ] dp[i][j] dp[i][j]代表从 1 1 1出发到 i i i共走了 j j j步的方案数
方案数大概是 n 2 2 \frac{n^2}{2} 2n2(因为最小的质数是2)
转移的复杂度大概是小于等于i的质数数量,大概是 l o g 2 i log_2i log2i
预处理 d p dp dp数组的时间大概是 5 e 7 5e7 5e7
然后我们考虑从dp数组出发得到答案。
假设此时我们先不考虑经过两个特殊点的情况。
假设第一维我们要走x步,第二维要走y步,第三步要走z步。
对应到dp数组里就是 d p [ n ] [ x ] , d p [ m ] [ y ] , d p [ w ] [ z ] dp[n][x],dp[m][y],dp[w][z] dp[n][x],dp[m][y],dp[w][z]
设 P = d p [ n ] [ x ] ∗ d p [ m ] [ y ] ∗ d p [ w ] [ z ] P=dp[n][x]*dp[m][y]*dp[w][z] P=dp[n][x]∗dp[m][y]∗dp[w][z]
我们可以发现方案数是
2020蓝桥杯国赛J题-质数行者题解
最新推荐文章于 2024-07-25 23:26:35 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)