杭電 2048 神 上帝以及老天爺 公式法

2022-03-20 22:13:03 字數 917 閱讀 2681

話不多說,

概念:  

全錯位排列,n個物質,重新排列順序,使其均不在原位。

歷史:  

被著名數學家尤拉(leonhard euler,1707-1783)稱為「組合數論的乙個妙題」的「裝錯信封問題」的兩個特例.

「裝錯信封問題」是由當時最有名的數學家約翰·伯努利(johann bernoulli,1667-1748)的兒子丹尼爾·伯努利(danidbernoulli,1700-1782)提出來的,大意如下:

個人寫了n封不同的信及相應的n個不同的信封,他把這n封信都裝錯了信封,問都裝錯信封的裝法有多少種?

公式及證明:

n個相異的元素排成一排a1,a2,...,an,且ai(i=1,2,...,n)不在第i位的排列數為n!(1-1/1!+1/2!-1/3!+...+(-1)^n*1/n!)

證明:設1,2,...,n的全排列t1,t2,...,tn的集合為i,而使ti=i的全排列的集合記為ai(1<=i<=n),

則dn=|i|-|a1∪a2∪...∪an|.

所以dn=n!-|a1∪a2∪...∪an|.

注意到|ai|=(n-1)!,|ai∩aj|=(n-2)!,...,|a1∩a2∩...∩an|=0!=1.

由容斥原理:

dn=n!-|a1∪a2∪...∪an|=n!-c(n,1)(n-1)!+c(n,2)(n-2)!-c(n,3)(n-3)!+...+(-1)^nc(n,n)*0!

=n!(1-1/1!+1/2!-1/3!+...+(-1)^n*1/n!

注:理論看的似懂非懂的,但是我記住了公式

#include //

裝錯信封的問題:公式法

double fac(int

n)int

main()

return0;

}

view code

杭電2048 神 上帝以及老天爺

為了活躍氣氛,組織者舉行了乙個別開生面 獎品豐厚的 活動,這個活動的具體要求是這樣的 首先,所有參加晚會的人員都將一張寫有自己名字的字條放入 箱中 然後,待所有字條加入完畢,每人從箱中取乙個字條 最後,如果取得的字條上寫的就是自己的名字,那麼 恭喜你,中獎了!大家可以想象一下當時的氣氛之熱烈,畢竟中...

神 上帝以及老天爺 2048

problem description hdu 2006 10 acm contest的頒獎晚會隆重開始了!為了活躍氣氛,組織者舉行了乙個別開生面 獎品豐厚的 活動,這個活動的具體要求是這樣的 首先,所有參加晚會的人員都將一張寫有自己名字的字條放入 箱中 然後,待所有字條加入完畢,每人從箱中取乙個字...

2048神 上帝以及老天爺

典型的錯排題目 首先求出錯排的情況,然後求出錯排的所有情況,以前者除以後者就是百分比 現在求對應的錯排情況。容易知道,f 1 0,f 2 1 然後,對於n個人,有n 1個人拿錯票和n 2個人拿錯票的情況 當有n 1個拿錯票時,在加入乙個人,只要第n個人和前面任意的n 1個人其中乙個調換票就可以了,所...