試題 歷屆試題 整數拼接 數字dp

2022-07-09 19:15:09 字數 1494 閱讀 9825

傳送門

題目描述

給定乙個長度為 n

'>n

的陣列 a1,

a2,·

··,a

n'>a1,a2,⋅⋅⋅,an

。你可以從中選出兩個數 a

i'>ai

和 aj

'>aj

(i'>i

不等於j

'>j),然後將 a

i'>ai

和 aj

'>aj

一前一後拼成乙個新的整數。

例如 12

'>12

和 345

'>345

可以拼成 12345

'>12345

或 34512

'>34512

。注意交換 a

i'>ai

和 aj

'>aj

的順序總是被視為 2

'>2

種拼法,即便是 ai=

aj'>ai=aj

時。請你計算有多少種拼法滿足拼出的整數是 k

'>k

的倍數。

輸入格式

第一行包含 2

'>2

個整數 n

'>n

和 k'>k

。第二行包含 n

'>n

個整數 a1,

a2,·

··,a

n'>a1,a2,⋅⋅⋅,an

輸出格式

乙個整數代表答案。

資料範圍1≤

n≤105

'>1≤n≤1e51≤

k≤105

'>1≤k≤1e51≤

ai≤10

9'>1≤ai≤1e9

輸入樣例:

4 2 

1 2 3 4

輸出樣例:

6題解:

這是今年省賽第一場c++b組的題目,做完挺有收穫的,這裡記錄一下,具體見**注釋。

#includeusing

namespace

std;

int cnt[15][100005

];long

long a[100005

];int getbit(long

long

ans)

while

(ans);

return

res;

}long

long pow(int

bit)

return

ans;

}int

main()

long

long res=0

;

for(int i=0;i)

else

}cnt[getbit(a[i])][a[i]%k]++;//

恢復 }

cout

return0;

}

試題 歷屆試題 數字遊戲

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 棟棟正在和同學們玩乙個數字遊戲。遊戲的規則是這樣的 棟棟和同學們一共n個人圍坐在一圈。棟棟首先說出數字1。接下來,坐在棟棟左手邊的同學要說下乙個數字2。再下面的乙個同學要從上乙個同學說的數字往下數兩個數說出來,也就是說4。下乙個同學...

試題 I 整數拼接

試題 i 整數拼接 給定義個長度為 n 的陣列 a1,a2,an你可以從中選出兩個數 ai 和 aj i 不等於 j 然後將 ai 和 aj 一前一後拼成乙個新的整數。例如 12 和 345 可以拼成 12345 或 34512。注意交換 ai 和 aj 的順序總是被視為 2 種拼法,即便是 ai ...

歷屆試題 回文數字

歷屆試題 回文數字 時間限制 1.0s 記憶體限制 256.0mb 問題描述 觀察數字 12321,123321 都有乙個共同的特徵,無論從左到右讀還是從右向左讀,都是相同的。這樣的數字叫做 回文數字。本題要求你找到一些5位或6位的十進位制數字。滿足如下要求 該數字的各個數字之和等於輸入的整數。輸入...