这道题wa了好多次才过,
一开始是因为题目描述被坑了...
后来是ans忘记mod了= - =
果然太sb了!
没什么好说的 o(12n)的都知道。用一个变量就变成o(n)的了 再用一个12*12D的矩阵就可以更快了。
当然没必要= - =
code
var
ans,s:int64;
i,n:longint;
f:array[-15..100005] of int64;
begin
ans:=0;
read(n);
f[1]:=1;
s:=0;
for i:=2 to n do
begin
s:=(s+f[i-2]) mod 100000007;
f[i]:=s;
s:=(s-f[i-12]) mod 100000007;
if s<0 then s:=s+100000007;
end;
for i:=n downto n-11 do
ans:=(ans+f[i]) mod 100000007;
writeln(ans);
end.
最近都偷懒没有把ac的题目发上来,弄一个最近刷水记录好了。。
NOIP rp+++!!!!!
大家要多支持tyvj!www.tyvj.cn!!