jzoj 3316 BOI2013 非回文數字

2022-05-16 22:28:48 字數 1314 閱讀 3075

當乙個數字不包含長度大於1的子回文數字時稱為非回文數字。求aa

~bb之間的非回文數字。

比賽是想到數字dp,只需搞一搞回文數字部分為3位或2位的即可。

然後想著怎麼求回文數字個數k

k,然後用x−k

x−k。

剛了1h,結果啥也沒剛出來,想到容斥去了。最後交了個暴力17分走起。

就是沒想到dp非回文數字個數。設f[

i][j

][k]

f[i]

[j][

k]表示當前到第i

i位,當前為j

j,上一位為kk。

且當前i

i以前所組成的數小於原串數(且符合費回文數字)的個數。設g[

i][j

][k]

g[i]

[j][

k]表示當前到第i

i位,當前為j

j,上一位為kk。

且當前i

i以前所組成的數等於原串數(且符合費回文數字)的個數。

小心點前導零以及個位數即可。(賽後又剛了1.5h1

.5h——o(╥﹏╥)o)

#include

#include

#define ll long long

using

namespace std;

int num[20]

,tot=

0,g[20]

[11][

11];ll a,b,f[20]

[11][

11];void

ycl(ll x)

ll query

(ll x)

for(

int j=

0;j<=

10;j++

)for

(int k=

0;k<=

10;k++)}

f[i][10

][10]

=1;}

for(

int i=

0;i<=

9;i++

)for

(int j=

0;j<=

10;j++)if

(i!=j) ans+

=f[1

][i]

[j];

ans+

=g[1

][num[1]

][num[2]

];return ans;

}int

main()

JZOJ3316 非回文數字

如果乙個字串從後往前讀與從前往後讀一致,我們則稱之為回文字串。當乙個數字不包含長度大於1的子回文數字時稱為非回文數字。例如,16276是非回文數字,但17276不是,因為它包含回文數字727。你的任務是在乙個給定的範圍內計算非回文數字的總數。include include include inclu...

JZOJ3316 非回文數字

如果乙個字串從後往前讀與從前往後讀一致,我們則稱之為回文字串。當乙個數字不包含長度大於1的子回文數字時稱為非回文數字。例如,16276是非回文數字,但17276不是,因為它包含回文數字727。你的任務是在乙個給定的範圍內計算非回文數字的總數。include include include inclu...

jzoj3294 SHTSC2013 超級跳馬

僅有一行,包含兩個正整數n,m,表示棋盤的規模。output 僅有一行,包含乙個整數,即跳法種數mod 30011。sample input 3 5sample output data constraint 對於10 的資料,1 n 10,2 m 10 對於50 的資料,1 n 10,2 m 10 ...