給你乙個公式,讓你求結果(詳細看題目鏈結裡面)
如果出這種題,我就死定了(真的
看了一下,不會 那就打表。打了半天表沒發現什麼,因為\(n\)也在變,每次答案都不一樣,然後我換了個思路,對於每一位上的數針對\(n\)不同又是怎麼變得呢?
於是我對於每一位又打了個表 (x代表沒有數
1 -> 0 1 2 3 4 5 6 7 8 9然後發現對於每一位而言,第一位不知道怎麼算出來的,然後接下來每一位都是由前一位加\(i\)得到的2 -> x 2 4 6 8 10 12 14 16
3 -> x x 1 4 7 10 13 16 19 22
4 -> x x x 1 5 9 13 17 21 25
5 -> x x x x 4 9 14 19 24 29
6 -> x x x x x 3 9 15 21 27
7 -> x x x x x x 8 15 22 29
8 -> x x x x x x x 8 16 24
9 -> x x x x x x x x 12 21
10 -> x x x x x x x x x 13
那麼很明顯了,我們只要得到第一位就能通過o(1)的式子轉化到最終答案,但顯然 這個第一位不是那麼好求,本來想打表的,但是跑了很長時間都沒有跑出來,然後就想了其他的辦法(看題解)
最終發現第乙個題解的辦法有點像這個,看了一下 哦!原來可以這樣
對於每乙個固定的\(i\),\(x\)遞增時的\(x - (xmodi)\) ,這就是每\(i\)項增加\(i\)的乙個數列,因為由上面我們打表可得,每一項都是由前一項得到,我們理所應當的就能想到遞推式
**如下 (這種題 quq我還是少寫吧)
//#define fre yes
#include const int n = 1000005;
long long n, ans, tag[n];
int main()
}for (int i = 1; i <= n; i++) return 0;
}
luoguP3708 koishi的數學題
題目鏈結 樣例解釋01 1111 1111 0022 2222 2201 0333 3333 0010 4444 4401 2105 5555 0002 1066 6601 1321 0777 0020 3210 8801 0143 2109 0012 0432 10很顯然橫行相加就是每個答案,然而...
P3708 koishi的數學題
koishi在flandre的指導下成為了一名數學大師,她想了一道簡單的數學題。輸入乙個整數n,設f x ni 1 xmodi,你需要輸出f 1 f 2 f n 按照套路,koishi假裝自己並不會做這道題,就來求你幫忙辣。輸入格式 乙個正整數n。輸出格式 一行用空格分隔的n個整數f 1 f 2 f...
數學找規律 number
題幹去內網找。計算方法是可以通過找規律的方法找出來的,但是正規的式子是 f i,k x 1,x mid k,p c ax 1,k x 1 c ax,k x 1 其中 p表示i在二進位制下1的個數,ax表示二進位制下第x高的1所在為代表的2的冪次。可以證明出f i.k f i 1,k 因此滿足的答案連...