您现在的位置是:主页 > news > 帮公司做网站/app推广接单平台

帮公司做网站/app推广接单平台

admin2025/6/22 7:23:38news

简介帮公司做网站,app推广接单平台,给别人做违法网站,菜鸟教程网站敲完这篇题解,我就,我就,我就,嗯,好,就这样吧。。。 思路分析: 首先我们要知道一个回文串的性质——假如说一个[l-1,r1]的串是回文的,那么[l,r]一定也是回文的。 所以我们只要记录前…

帮公司做网站,app推广接单平台,给别人做违法网站,菜鸟教程网站敲完这篇题解,我就,我就,我就,嗯,好,就这样吧。。。 思路分析: 首先我们要知道一个回文串的性质——假如说一个[l-1,r1]的串是回文的,那么[l,r]一定也是回文的。 所以我们只要记录前…

敲完这篇题解,我就,我就,我就,嗯,好,就这样吧。。。

思路分析:

首先我们要知道一个回文串的性质——假如说一个[l-1,r+1]的串是回文的,那么[l,r]一定也是回文的。

所以我们只要记录前一个数和前前一个数就可以了,假如说当前数和他们(前一个数和前前一个数)当中的任意一个相等,那么它就一定是一个萌数。

知道了这些我们就可以开始设计状态了。

dp[pos][pre1][pre2]表示当前找到pos位,前一个数为pre1,前前一个数为pre2时的萌数个数。

代码实现:

vara:array[1..2000] of Integer;dp:array[1..2000,0..9,0..9,0..1] of Int64;len,i:Longint;ans,oo,t:int64;l,r,st:ansistring;
function dfs(pos,pre1,pre2,lead,flag,val:Longint):int64;
vari,limit,x:Integer;res:int64;
beginif pos>len then exit(val);if (pre2>=0)and(lead+flag=0)and(dp[pos][pre1][pre2][val]<>-1) then dfs:=(dp[pos][pre1][pre2][val]) elsebeginif flag=1 then limit:=a[pos] else limit:=9;res:=0;for i:=0 to limit dobeginif lead=1 then x:=-1 else x:=pre1;res:=(res+dfs(pos+1,i,x,ord((lead=1)and(i=0)),ord((flag=1)and(i=limit)),ord((val=1)or((i=pre1)and(lead=0))or((i=pre2)and(lead=0)))))mod oo;end;if (pre2>=0)and(lead+flag=0) then dp[pos][pre1][pre2][val]:=res;dfs:=res;end;
end;
beginoo:=1000000007;readln(st);t:=pos(' ',st);l:=copy(st,1,t-1);len:=length(l);delete(st,1,t);for i:=1 to len doa[i]:=ord(l[i])-48;while i>0 doif a[i]>0 then begin dec(a[i]); break; endelse begin a[i]:=9; dec(i); end;fillchar(dp,sizeof(dp),255);ans:=dfs(1,-1,-1,1,1,0);r:=st;len:=length(r);for i:=1 to len doa[i]:=ord(r[i])-48;ans:=((dfs(1,-1,-1,1,1,0)-ans)mod oo+oo)mod oo;writeln(ans);
end.

转载于:https://www.cnblogs.com/WR-Eternity/p/9931472.html