CCF線性遞推式-Java
阿新 • • 發佈:2018-12-16
import java.util.Scanner; public class Linear { static Scanner sc; static long[] a; static String temp; static String[] cmd; static int m,l,r; static long[] k; static long Q=998244353; public static void main(String[] args) { sc = new Scanner(System.in); temp = sc.nextLine()+" "; cmd = temp.split(" "); m = Integer.parseInt(cmd[0]); l = Integer.parseInt(cmd[1]); r = Integer.parseInt(cmd[2]); a = new long[r+1]; k = new long[m+1]; for(int i=1;i<=m;i++) { k[i] = sc.nextLong(); } a[0] = 1; for(int i=1;i<=r;i++) { if(i<=m) { for(int j=1;j<=i;j++) { a[i]+=k[j]*a[i-j]; } } else { for(int j=1;j<=m;j++) { a[i]+=k[j]*a[i-j]; } } a[i]%=Q; } for(int i=l;i<=r;i++) System.out.println(a[i]); } }