傳送
時間限制:c/c++ 1秒,其他語言2秒 空間限制:c/c++ 32768k,其他語言65536k題目描述64bit io format: %lld
其中,f(1)=1;f(2)=1;z皇后的方案數:即在z×z的棋盤上放置z個皇后,使其互不攻擊的方案數。輸入描述:
輸入資料共一行,兩個正整數x,m,意義如「題目描述」。輸出描述:
乙個正整數k,表示輸出結尾0 的個數或者放置皇后的方案數示例1
輸入
375
16
輸出
14200
說明
題解:看了一陣子沒明白,也是從其他人那學完之後,自己總結著再寫
這個題內含三個小題:
1.判斷是否存在k使得f(k)=xf(k)=x
2.n!在m進製下末尾零的個數
3.z皇后方案數
解答:(非詳細)
1.f函式其實就是斐波那契數列
斐波那契數列平方和的性質:(就是題目中所給公式)
2.求n!在m進製的末尾0個數
首先乙個結論:n!的質因子p的個數等於:1~n中p的倍數(n/p)加上(n/p)!中質因子p的個數
然後:寫出
將數w轉化成m進製的末尾0的個數
的暴力**是:
while
(w%m==0)
//tot計數
可以得到 w=a * mtot(n是mtot的倍數)
末尾幾個0,tot就是幾(tot是記錄末尾0
的數量)
我們看 n ! 最多可以分解出多少個m
質因數 pi
設m=p1
a1 *p2
a2 *…*pk
akw = n!
n!= a * m tot
n!=a * (p1
a1 *p2
a2 *…*pk
ak)tot
n!=a * p1
b1 *p2
b2 *…*pkbk
bk=ak *tot
求出!x最多可以分解出多少個pi
tot=min(bk/ak)
列舉k
ll prime[maxn]=;
ll getsum
(ll n,ll m)
return sum;
}//n!的質因子p的個數
void
ans_solve()
}for
(int i=
1;i<=
25;i++)}
for(
int i=
1;i<=
25;i++
) cout<
}
3.求z皇后方案數
z=x%min(13,m)+1
根據式子就能得到z的範圍在1~13,範圍不大直接打表就可以
ll dabiao()
cout<< z[x%
min(13*
1ll,k)+1
];
水 water 積水問題 蓄水問題
題目描述 有一塊矩形土地被劃分成 n m 個正方形小塊。這些小塊高低不平,每一小塊都有自己的高度。水流可以由任意一塊地流向周圍四個方向的四塊地中,但是不能直接流入對角相連的小塊中。一場大雨後,由於地勢高低不同,許多地方都積存了不少降水。假如你已經知道這塊土地的詳細資訊,你能求出每個小塊的積水高度嗎?...
字尾陣列水水水水水水題
首先 jxrjxrjxr orz,沒有您我們都會死 然後就是我從jxr神犇那裡借鑑 照抄 過來的字尾陣列模板。include include include define cmp x y sa i x y sa i 1 x using namespace std const int n 100000...
水題)簡單題
problem 2183 簡單題 現在有一些被簡單壓縮的字串,例如 a 120 代表120個a。對於字串acb 3 d 5 e相對於acbbbddddde 現在給你兩個字串cstring,nstring.乙個是被壓縮過的字串,另乙個沒有被壓縮。求nstring是否為cstring的子串,如果是輸出t...