占坑 先贴上AC代码 回头来补坑 #include <iostream> using namespace std; int n, k; const int mod = 100003; long long f[1000000]; int main() { cin >> n >> k; f[0] = 1; for (int i = 1; i <= n; i++) { if (i <= k) { //当 当前阶梯 小于一次性可以跨越的阶梯的时候 for (int…
题意: 传送门 已知\(F(n)=3F(n-1)+2F(n-2) \mod 998244353,F(0)=0,F(1)=1\),给出初始的\(n_1\)和询问次数\(q\),设每一次的答案\(a_i=F(n_i)\),而\(n_{i+1}=n_i\oplus(a_i*a_i)\),求\(a_1\oplus a_2\dots\oplus a_q\). 思路: 原式是一个二次常数递归式,我们可以求得它的通项为: \[F(n)=\frac{1}{\sqrt{17}}[(\frac{3+\sqrt{17…
http://poj.org/problem?id=2506 #include <iostream> #include <stdio.h> #include <string.h> #include <stdlib.h> using namespace std; ][]; int main() { int n,i,j; memset(a,,sizeof(a)); a[][]=; a[][]=; a[][]=; ; i<=; i++) { ; j<=…
题目大意: F[0]=0 F[1]=1 F[n+2]=F[n+1]+F[n] 求F[n] mod 104. F[n+2] F[n+1] = 1 1 1 0 * F[n+1] F[n] 记这个矩阵为A,则有: F[n+1] F[n] = An * F[1] F[0] = An * 1 0 然后可以快速幂 #include<cstdio> #include<vector> using namespace std; typedef vector<int> vec; typed…
#include "stdio.h" #include "iostream" int Fibonacci(int n) { int t1, t2; || n == ) { ; } else { t1 = Fibonacci(n-); t2 = Fibonacci(n-); return t1 + t2; } } int main() { int n, num; scanf("%d",&n); num = Fibonacci(n); pri…
题目描述 有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式. 输入输出格式 输入格式: 输入文件的仅包含两个正整数N,K. 输出格式: 输入文件stair.out仅包括1个正整数,为不同方式数,由于答案可能很大,你需要输出mod 100003后的结果. 输入输出样例 输入样例#1: 5 2 输出样例#1: 8 说明 对于20%的数据,有N ≤ 10, K ≤ 3; 对于40%的数据,有N ≤ 1000; 对于100%的数据,有N ≤ 1000…
题目描述 有NN级的台阶,你一开始在底部,每次可以向上迈最多KK级台阶(最少11级),问到达第NN级台阶有多少种不同方式. 输入格式 两个正整数N,K. 输出格式 一个正整数,为不同方式数,由于答案可能很大,你需要输出ans \bmod 100003ansmod100003后的结果. 输入输出样例 输入 5 2 输出 8 说明/提示 对于20\%20%的数据,有N ≤ 10, K ≤ 3N≤10,K≤3; 对于40\%40%的数据,有N ≤ 1000N≤1000; 对于100\%100%的数据,…
P1192 台阶问题 题目描述 有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式. 输入输出格式 输入格式: 输入文件的仅包含两个正整数N,K. 输出格式: 输入文件stair.out仅包括1个正整数,为不同方式数,由于答案可能很大,你需要输出mod 100003后的结果. 输入输出样例 输入样例#1: 复制 5 2 输出样例#1: 复制 8 说明 对于20%的数据,有N ≤ 10, K ≤ 3; 对于40%的数据,有N ≤ 1000; 对于…
题目:https://www.luogu.org/problemnew/show/P1192 题意: 给定n和k,一个人一次可以迈1~k步,问走n步有多少种方案. 思路: 本来傻乎乎上来就递归,显然会T的啊猪头! 然后改成记忆化搜索.dfs的参数就是还剩余的步数,num数组存的就是走i步的方案数. #include<stdio.h> #include<stdlib.h> #include<map> #include<set> #include<iost…
有NN级的台阶,你一开始在底部,每次可以向上迈最多KK级台阶(最少11级),问到达第NN级台阶有多少种不同方式. 输入输出格式 输入格式: 两个正整数N,K. 输出格式: 一个正整数,为不同方式数,由于答案可能很大,你需要输出ans \bmod 100003ansmod100003后的结果. 输入输出样例 输入样例#1: 复制 5 2 输出样例#1: 复制 8 说明 对于20\%20%的数据,有N ≤ 10, K ≤ 3N≤10,K≤3; 对于40\%40%的数据,有N ≤ 1000N≤1000…