传送门
http://www.lydsy.com/JudgeOnline/problem.php?id=2431
题目大意
给定
n,m
询问由
1
~
题解
dp[i,j]:
由
1
~
前缀和优化一下
const
maxn=1005;
var
sum,dp:array[0..maxn,-1..maxn]of longint;
i,j,k:longint;
n,m:longint;
function max(a,b:longint):Longint;
begin if a>b then exit(a) else exit(b); end;
begin
readln(n,m);
for i:=1 to m do
dp[0,i]:=0;
dp[0,0]:=1;
sum[0,-1]:=0;
for i:=0 to m do
sum[0,i]:=sum[0,i-1]+dp[0,i];
for i:=1 to n do
begin
sum[i,-1]:=0;
for j:=0 to m do
begin
dp[i,j]:=(sum[i-1,j]-sum[i-1,max(j-i,-1)]+10000)mod 10000;
sum[i,j]:=(sum[i,j-1]+dp[i,j]+10000)mod 10000;
end;
end;
writeln(dp[n,m]);
end.