CF1716D.Chip Move
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
There is a chip on the coordinate line. Initially, the chip is located at the point 0 . You can perform any number of moves; each move increases the coordinate of the chip by some positive integer (which is called the length of the move). The length of the first move you make should be divisible by k , the length of the second move — by k+1 , the third — by k+2 , and so on.
For example, if k=2 , then the sequence of moves may look like this: 0→4→7→19→44 , because 4−0=4 is divisible by 2=k , 7−4=3 is divisible by 3=k+1 , 19−7=12 is divisible by 4=k+2 , 44−19=25 is divisible by 5=k+3 .
You are given two positive integers n and k . Your task is to count the number of ways to reach the point x , starting from 0 , for every x∈[1,n] . The number of ways can be very large, so print it modulo 998244353 . Two ways are considered different if they differ as sets of visited positions.
输入格式
The first (and only) line of the input contains two integers n and k ( 1≤k≤n≤2⋅105 ).
输出格式
Print n integers — the number of ways to reach the point x , starting from 0 , for every x∈[1,n] , taken modulo 998244353 .
输入输出样例
输入#1
8 1
输出#1
1 1 2 2 3 4 5 6
输入#2
10 2
输出#2
0 1 0 1 1 1 1 2 2 2
说明/提示
Let's look at the first example:
Ways to reach the point 1 : [0,1] ;
Ways to reach the point 2 : [0,2] ;
Ways to reach the point 3 : [0,1,3] , [0,3] ;
Ways to reach the point 4 : [0,2,4] , [0,4] ;
Ways to reach the point 5 : [0,1,5] , [0,3,5] , [0,5] ;
Ways to reach the point 6 : [0,1,3,6] , [0,2,6] , [0,4,6] , [0,6] ;
Ways to reach the point 7 : [0,2,4,7] , [0,1,7] , [0,3,7] , [0,5,7] , [0,7] ;
Ways to reach the point 8 : [0,3,5,8] , [0,1,5,8] , [0,2,8] , [0,4,8] , [0,6,8] , [0,8] .