Submission #36273738
Source Code Expand
#include <bits/stdc++.h>
#include <atcoder/modint>
#include <atcoder/convolution>
const int MOD = 998244353;
using mint = atcoder::static_modint<MOD>;
#define rep(i,a,n) for (int i=a;i<(int)n;i++)
#define per(i,a,n) for (int i=n;i-->(int)a;)
int read(){int r;scanf("%d",&r);return r;}
const int N=14000000;
mint fac[N+10]={1};
mint ifac[N+10];
mint binom(int n,int m){return (m>n||m<0)?0:(fac[n]*ifac[m]*ifac[n-m]);}
int main(){
rep(i,1,N+1) fac[i]=fac[i-1]*i;
ifac[N]=fac[N].inv();
per(i,0,N) ifac[i]=ifac[i+1]*(i+1);
int n=read();
int m=read();
mint ans =0;
rep(s12,0,m+1){ // mod part
mint s=0;
rep(fi,0,3) s+=binom(n-1,s12-fi-(n-1));
ans += s*binom(n+(m-s12)/3,n);
}
printf("%d\n",ans.val());
return 0;
}
// ai [0,M]
// 单调递增
// 相邻mod3 不同
//
// f(n,m) = 范围 [0..m] n个, 第一个 == 0
// ans = sum f(n,0..m)
//
// f(n,m) = sum f(n-1,m-1..m-2..m-非3倍数)
//
// f(n) = f(n-1) * poly(0,1,1,0,1,1,0,1,1,0,1,1,...)
//
// f(1) = (1,1,1,1,1,...
//
// f(n) = f(1) * poly(....)^{n-1}
//
// 1 1 1 1 1 1 1 1
// 0 1 2 2 3 4 4 5
// poly = x(1+x^3+x^6) + x^2(1+x^3+x^6) +...
//
// poly = (x+x^2)/(1-x^3)
//
// (x+x^2)/(1-x^3)
//
// 1/(1-x)^2 * [(x+x^2)/(1-x^3)]^{n-1}
//
// 的m次方的系数
//
Submission Info
Submission Time
2022-11-06 09:52:00+0900
Task
G - Count Sequences
User
cromarmot
Language
C++ (GCC 9.2.1)
Score
600
Code Size
1268 Byte
Status
AC
Exec Time
332 ms
Memory
113152 KiB
Compile Error
./Main.cpp: In function ‘int read()’:
./Main.cpp:10:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
10 | int read(){int r;scanf("%d",&r);return r;}
| ~~~~~^~~~~~~~~
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
600 / 600
Status
Set Name
Test Cases
Sample
00_sample_00.txt, 00_sample_01.txt
All
00_sample_00.txt, 00_sample_01.txt, 01_smallNM_00.txt, 01_smallNM_01.txt, 01_smallNM_02.txt, 01_smallNM_03.txt, 01_smallNM_04.txt, 01_smallNM_05.txt, 01_smallNM_06.txt, 01_smallNM_07.txt, 01_smallNM_08.txt, 01_smallNM_09.txt, 01_smallNM_10.txt, 01_smallNM_11.txt, 02_smallN_00.txt, 02_smallN_01.txt, 02_smallN_02.txt, 02_smallN_03.txt, 02_smallN_04.txt, 02_smallN_05.txt, 02_smallN_06.txt, 03_rnd_00.txt, 03_rnd_01.txt, 03_rnd_02.txt, 03_rnd_03.txt, 03_rnd_04.txt, 03_rnd_05.txt, 03_rnd_06.txt, 03_rnd_07.txt, 04_max_00.txt, 04_max_01.txt, 04_max_02.txt, 04_max_03.txt, 04_max_04.txt, 04_max_05.txt, 04_max_06.txt, 04_max_07.txt, 04_max_08.txt, 04_max_09.txt, 04_max_10.txt, 04_max_11.txt, 04_max_12.txt, 04_max_13.txt, 04_max_14.txt, 04_max_15.txt, 04_max_16.txt, 04_max_17.txt, 04_max_18.txt, 04_max_19.txt
Case Name
Status
Exec Time
Memory
00_sample_00.txt
AC
183 ms
113152 KiB
00_sample_01.txt
AC
260 ms
112992 KiB
01_smallNM_00.txt
AC
181 ms
113136 KiB
01_smallNM_01.txt
AC
182 ms
113048 KiB
01_smallNM_02.txt
AC
184 ms
113148 KiB
01_smallNM_03.txt
AC
181 ms
113144 KiB
01_smallNM_04.txt
AC
182 ms
113092 KiB
01_smallNM_05.txt
AC
182 ms
113056 KiB
01_smallNM_06.txt
AC
182 ms
112988 KiB
01_smallNM_07.txt
AC
183 ms
113116 KiB
01_smallNM_08.txt
AC
183 ms
113104 KiB
01_smallNM_09.txt
AC
186 ms
113148 KiB
01_smallNM_10.txt
AC
181 ms
113104 KiB
01_smallNM_11.txt
AC
182 ms
113092 KiB
02_smallN_00.txt
AC
260 ms
113048 KiB
02_smallN_01.txt
AC
260 ms
113060 KiB
02_smallN_02.txt
AC
260 ms
113092 KiB
02_smallN_03.txt
AC
261 ms
112988 KiB
02_smallN_04.txt
AC
261 ms
113092 KiB
02_smallN_05.txt
AC
259 ms
113056 KiB
02_smallN_06.txt
AC
260 ms
113092 KiB
03_rnd_00.txt
AC
220 ms
113048 KiB
03_rnd_01.txt
AC
226 ms
112984 KiB
03_rnd_02.txt
AC
191 ms
113040 KiB
03_rnd_03.txt
AC
298 ms
113096 KiB
03_rnd_04.txt
AC
205 ms
113144 KiB
03_rnd_05.txt
AC
295 ms
113104 KiB
03_rnd_06.txt
AC
199 ms
113148 KiB
03_rnd_07.txt
AC
222 ms
113048 KiB
04_max_00.txt
AC
263 ms
113084 KiB
04_max_01.txt
AC
332 ms
112988 KiB
04_max_02.txt
AC
300 ms
112992 KiB
04_max_03.txt
AC
278 ms
113036 KiB
04_max_04.txt
AC
270 ms
112992 KiB
04_max_05.txt
AC
262 ms
112988 KiB
04_max_06.txt
AC
262 ms
112988 KiB
04_max_07.txt
AC
262 ms
113100 KiB
04_max_08.txt
AC
263 ms
113048 KiB
04_max_09.txt
AC
263 ms
112988 KiB
04_max_10.txt
AC
262 ms
112992 KiB
04_max_11.txt
AC
262 ms
113048 KiB
04_max_12.txt
AC
262 ms
113144 KiB
04_max_13.txt
AC
262 ms
113056 KiB
04_max_14.txt
AC
263 ms
113048 KiB
04_max_15.txt
AC
263 ms
113044 KiB
04_max_16.txt
AC
264 ms
112992 KiB
04_max_17.txt
AC
262 ms
113144 KiB
04_max_18.txt
AC
262 ms
113120 KiB
04_max_19.txt
AC
261 ms
112984 KiB