首页 > 不降数
头像 折花有时亦有时
发表于 2021-04-10 20:44:01
C 题一个线性递推,但由于n数值过大,无法进行继续,我们只要给n取余100019即可!!! 成立的理由大致如下: 递推100019次,而且还是一个和式,那么一定是100019的倍数! 代码如下: #include <bits/stdc++.h> using namespace std; 展开全文
头像 Last丶🐖
发表于 2021-04-09 22:40:28
只有C题,快速幂+除法取模+公式法由于本方法为公式法,如果你是因为被卡时间而做不对的话,可以看一下;如果完全不会做这个题,就看官方题解吧!如果你能正确的打表,就会发下如下事实:当最后一位为时, ,只有种情况(全1) ,有种 ,有种 ,有种一直求到就够了。那么结果就是全加起来呗因为这里面有除法,所以还 展开全文
头像 zwuis
发表于 2021-04-10 10:48:38
C 题我们发现,在一个不降数的后面加上一个合适的数字,就可以得到一个新的不降数。考虑递推。设 为长度为 ,最后一个数字为 的不降数。就有 。这是一个递推公式,初始条件 。那我们可以使用矩阵快速幂,时间复杂度 。暴锤标答代码:https://ac.nowcoder.com/acm/contest/ 展开全文
头像 Pikaaachu
发表于 2021-04-11 15:22:42
不降数这个题很有意思哇 有很多的解法emm记录一下做题过程qwq如果n的范围小一点,可以直接用数位dp过掉,但是n太大会mle.于是写了一个线性dp递推+滚动数组,复杂度是1e10的emmmdp[i, j]表示第i位以j结尾的数的个数。可以留着对拍: #include<bits/stdc++. 展开全文
头像 dtfour07
发表于 2021-07-13 16:03:29
可以根据 f(1) ---- f(2)发现加速矩阵然后可以根据矩阵快速幂写 代码如下: #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll mod = 100019; struct ma 展开全文

等你来战

查看全部