當乙個數字不包含長度大於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 ...