找數列
已知n=4k(k<=9),求滿足給定條件的數列個數:
(1).滿足條件的數列為1,2,…..n的乙個排列.
(2).對於每個aj,1≤j≤n,都有ai+j=n+1,(i=aj).
定義乙個f(n)使f(n)=an,那麼,題中就是說f(f(i))=n+1-i,也就是f(2)(i).我們設f(i)=j,則f(j)= f(2) (i)=n+1-i,f(n+1-i)= f(2) (j)=n+1-j,f(n+1-j)=f(2) (n+1-i)=i,可以看出這是乙個迴圈了,而且,我們易知f(i)!=i,f(i)!=n+1-i,因為若存在f(i)=i,則f(i)= f(2) (i)=n+1-i=i,則2i=n+1,n=4k,顯然不可能。
若f(i)=n+1-i,則f(n+1-i)= f(2) (i)=n+1-i,與f(i)!=i矛盾。所以,f(i)!=i,f(i)!=n+1-i;
那麼對於任意的i,f(i)有除了i和n+1-i這兩種以外的n-2中選法。
對於任意的j!=i,f(j)有除了i,f(i),f f(2) (i),f(3)(i),n+1-j,j以外的n-6中選法(因為這是1到n的乙個排列)。
所以共有(n-2)(n-6)(n-10)...2種選法。(因為(n-2)%4=2);
#include#include#include#includeusing namespace std;
int main()
{ long long s=1;
int n,i;
cin>>n;
for(i=n-2;i>=0;i-=4)s*=i;
cout<
來自數學競賽.
數列找不同
題目描述 現有數列a 1,a 2,cdots,a na 1 a 2 a n q 個詢問 l i,r i l i r i a a cdots,a a li a li 1 a ri 是否互不相同 輸入格式 第1 行,2 個整數n,qn,q 第2 行,n 個整數a a cdots,a a li a li ...
數列找不同
現有數列a 1,a 2,cdots,a na1 a2 an q 個詢問 l i,r i li ri a a cdots,a ali ali 1 ari 是否互不相同 第1 行,2 個整數n,qn,q 第2 行,n 個整數a a cdots,a ali ali 1 ari q 行,每行2 個整數l i...
尋找手機(本人自編題)
題目背景 由於小徐腐敗過多,爸媽把他的手機藏起來了。檔名 b 題目描述 小徐不死心,他一定要找到手機。他爸媽精通魔法,建立了乙個法陣。小徐知道手機在的點n和聯通點的路徑和每條路徑的長度,他想讓你編乙個程式,求出他走完所有點的最小長度乘積。由於答案太大,只需輸出答案 mod 9987 輸入輸出格式 輸...