原创 卡特蘭數

簡介  中文:卡特蘭數  Catalan數是組合數學中一個常出現在各種計數問題中出現的數列。由以比利時的數學家歐仁·查理·卡塔蘭 (1814–1894)命名。  原理:  令h(0)=1,h(1)=1,catalan數滿足遞歸式:  h(

原创 組合生成算法

#include<cstdio> int path[4]; int backtrack(int n) { if(n==4) { for(int i=0;i<4;i++)

原创 用Stirling逼近近似計算階乘

用Stirling逼近近似計算階乘n! 1、求n!的前幾位 先看公式: θ十分接近1,而且在逐漸地逼近1,實際上,即使是求1的階乘,θ也會達到0.9727376027,這是一個本身就是一個很“精確”的數字了!當n=1000時,θ將0.

原创 分治法求最近點對問題

分治法      1)算法描述:已知集合S中有n個點,分治法的思想就是將S進行拆分,分爲2部分求最近點對。算法每次選擇一條垂線L,將S拆分左右兩部分爲SL和SR,L一般取點集S中所有點的中間點的x座標來劃分,這樣可以保證SL和SR中的點數

原创 求最大公約數以及公倍數

求差判定法.  如果兩個數相差不大,可以用大數減去小數,所得的差與小數的最大公約數就是原來兩個數的最大公約數.例如:求78和60的最大公約數.78-60=18,18和60的最大公約數是6,所以78和60的最大公約數是6.  如果兩個數相差

原创 HDU1286:找新朋友

  Problem Description 新年快到了,“豬頭幫協會”準備搞一個聚會,已經知道現有會員N人,把會員從1到N編號,其中會長的號碼是N號,凡是和會長是老朋友的,那麼該會員的號碼肯定和N有大於1的公約數,否則都是新朋友,現在會長

原创 HDU1222:Wolf and Rabbit

  Problem Description There is a hill with n holes around. The holes are signed from 0 to n-1.A rabbit must hide in one

原创 編程之美:水王擴展題

#include<stdio.h> #include<stdlib.h> int candidate[3]; int nTimes[3]={0,0,0}; int main() { FILE *fin; int n; int i,t

原创 (轉載)linux學習步驟

學習步驟如下(以類似文章提綱的形式羅列,大家可以參考一下):1、Linux 基礎安裝Linux操作系統Linux文件系統Linux常用命令Linux啓動過程詳解熟悉Linux服務能夠獨立安裝Linux操作系統能夠熟練使用Linux系統的基

原创 HDU:1164

  Problem Description Eddy's interest is very extensive, recently he is interested in prime number. Eddy discover the a

原创 學編程的話,就是深入學習Linux了

學編程的話,就是深入學習Linux了 建議學習路徑(來自chinaunix) 首先先學學編輯器,vim, emacs什麼的都行。 然後學make file文件,只要知道一點就行,這樣就可以準備編程序了。   然後看看《C程序設計語言》K&

原创 ncurses簡介及其使用方法

ncurses簡介及其使用方法        NCURSES不僅僅只是封裝了底層的終端功能,而且提供了一個相當穩固的工作框架(Framework)用 以產生漂亮的界面。它包含了一些創建窗口的函數。而它的姊妹庫 Menu、Pan

原创 帶隨機指針的鏈表複製問題

一個鏈表問題:複製帶隨機指針的鏈表     題目:有一個鏈表L,其每個節點有2個指針,一個指針next指向鏈表的下個節點,另一個random隨機指向鏈表中的任一個節點,可能是自己或者爲空,寫一個程序,要求複製這個鏈表的結構並分析其複雜

原创 牛頓迭代法求n的平方根

    求n的平方根,先假設一猜測值X0 = 1,然後根據以下公式求出X1,再將X1代入公式右邊,繼續求出X2…通過有效次迭代後即可求出n的平方根,Xk+1                             Xk+1 =(Xk +

原创 語言的學習基礎,100個經典的算法

語言的學習基礎,100個經典的算法C語言的學習要從基礎開始,這裏是100個經典的算法-1C語言的學習要從基礎開始,這裏是100個經典的算法 題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔 子長到第三個月後每個月又