在組合數學中學習鴿巢原理。其中一道例題是這樣的:
從1,2,3,4,..., 200這200個整數中選取101個整數,則一定存在兩個數存在整除關係?
解答:乙個數對其按照2進行因式分解,總可寫成n = 2 ^ k * t(其中k >=0, t為奇數)。例如2 = 2 ^ 1 * 1; 3 = 2 ^ 0 * 3...
而1到200存在奇數1,3,5,7,..., 199一共100個奇數。我選取101個整數,則說明存在兩個整數i,j, 它們經過分解,t是相等的。所以前面的k是不一樣的。也就證明了i,j存在整除關係。很簡單是嗎?請看下面一道擴充套件題。
從1,2,3,4,..., 200這200個整數中選取100個整數,其中只有乙個數小於16,證明一定存在兩個數存在整除關係?
我們這樣想:
定義兩個集合a =
b =
其中a是從200個整數中選取的100個整數,而b[i]則是某個a[j]經過按2分解最後的奇數t。
經過思考,若選取的100個數不存在整除關係,則每個數一定對映到不同的奇數。若兩個數經分解後得到相同的奇數,則這兩個數能夠整除。
我們再來分情況討論,
對於最小數15,
它對映到集合b的元素是15。假設對映到集合b為45的元素為m,則m和15是什麼關係呢?一定整除,對不對?所以存在整除。
對於13, 39
11, 33
9, 27
7, 21
5, 15
3, 9
1不用說,肯定存在整除關係。
關鍵是對於1到15之間的偶數,如何處理?
對於14, 14 = 2 * 7(k = 1)。 對映到b中的元素為7。
我們接著考慮b的為7的倍數的元素
我們知道105後面的對映到a就是它們本身,因為a中每個數都小於200.
接著我們隨便來考慮一組數值<35, 105>.105是35的倍數,為了使它們兩者對應到a中的元素不存在整除,則a中的元素一定是2 ^ k * 35(k > 0)。而這是a中的元素一定是14
的整倍數。所以要麼是14的倍數,要麼是105和35對應的數存在整數倍關係。
對於10,10 = 2 * 5(k = 1)處理方式和14一樣。
對於6,處理方式和14一樣。
接著我們來考慮12,8,4,2.
先來考慮2吧。
若a中存在元素2,若不存在整數關係,其它199個數都是奇數。我們知道,這些奇數中肯定存在整除關係。
再來考慮12吧。
對於12,12 = 2 ^ 2 * 3(k = 2, t = 3)
奇數為3.我們來考慮b中的 sub_b={9, 15, 21, 27, ...99, 105, 111, 117, ..., 195}
這些都是3的倍數。
為了不和12產生整除關係設定sub_b 到a中元素的對映關係為 2 ^ k * sub_b[i](其中一定是小於等於1的)
我們知道105以後的k一定是0.我們來看tri_pair<9, 27, 117>117是27的倍數,27是9的倍數。為了是它們對映到a中元素不能整除,所以2 ^ 1 * 27, 2 ^ 2 ^ 9。
這個時候我們發現,2 ^ 2 * 9 已經是12的倍數了。要麼9, 27, 117對應於a中的數之間存在整除關係,要麼其中有些數是12的倍數,總之,存在整除關係。
來考慮8和4。
對於4 = 2 ^ 2 * 1(k = 2, t = 1)
正如在對於12討論的那樣,一定存在4的倍數。
對於8 = 2 ^ 3 * 1(t = 1)對於3次方如何考慮呢?
還是按照原來的思路。
我們取sub_b =
這樣對於<3, 21, 63, 189>後面的在這裡就不寫了。
到現在,我們已經將1,2,3,4,5,..., 15全部討論完了。對於每個數都存在整除關係。
鴿巢原理簡單應用
從n個數裡面取出一些數,這些數的和是n的倍數。並輸出這些數。先預處理出前n個數的和用sum i 表示前i個數的和。若某個sum i 是n的倍數,直接輸出前i個數即可。否則說明n個數中對n取餘的結果有n 1種,即餘數為 1 n 1 根據鴿巢原理知必定至少存在兩個sum i 與sum j 對n取餘的結果...
WGAN GP應用於一維時序訊號
近年來生成對抗網路在各大頂會上大放異彩,但是大多研究集中在影象方面,衍生出一系列dcgan wgan等等模型,最近我在關於手語識別的研究中遇到資料量及資料種類過少的問題,故想到使用gan來生成手語資料,達到以假亂真的效果。除了這個方面外,gan在這些訊號的生成的研究對於醫療方面受損訊號的恢復 意圖生...
Oracle 10g資料庫管理 應用於開發(三)
d order by 子句 使用order by 子句排序 asc ascend 公升序 desc descend 降序 order by 子句在select 語句的結尾。查詢員工資訊按照部門的編號進行公升序排列,預設是asc sql select empno,ename,job,mgr,hired...