ACM暑假集訓總結3

2021-10-08 22:45:10 字數 1575 閱讀 5972

二分查詢也稱折半查詢(binary search),它是一種效率較高的查詢方法。但是,折半查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列

就是數學中的二分法一樣的思想

int

find

(int x)

//二分查詢

if(a[l]

==x)

return l;

//找都了就輸出他的位置

else

return-1

;// 沒找到輸出-1

}

luogu p2249

這是乙個完全模板的題目

}二分題目:

p2249

p1873

還有太多了

題目大意

給定乙個由1到n的數字組成的組成的序列,問最少需要幾步」剪下-貼上「操作才能使該數列變為公升序的有序數列。(1由題目可知,本題最壞的情況下也最多隻會移動n-1步(雖然在實際情況中最多只有5步),所以可以在搜尋的同時限制搜尋層數,既使用迭代加深。

繼續考慮每一層的情況,因為9!=362880,所以每一層的狀態非常的龐大,因此我們可以採用a*剪枝。

考慮每乙個序列後續不正確的數字個數h,每一次剪下最多3個數字後續數字發生改變,每次剪下最多可減少3個不正確的後續數字。所以在當前層d,最大層maxd時,最多可減少的不正確後續數字是3(maxd-d),若h>3(maxd-d),則剪枝。

#include

const

int maxn =9;

int n,a[maxn]

;inline

bool

end(

)return

true;}

inline

inth()

int maxd;

const

int intsz =

sizeof

(int);

const

int asz =

sizeof

(a);

bool

dfs(

int d)

}return

false;}

inline

intsolve()

intmain()

return0;

}

ACM暑假留校集訓總結

b汗 最初寫這東西竟然還是為了打發實踐報告 不過真的有好多想寫的 大一剛入校便通過學長知道了這個比賽,這個社團。起初搞acm的打算也是為了大一做一些有意義的事情,莫讓光陰虛度。一年的c c 的學習也讓我初步了解了程式設計的世界,養成了一些演算法思路,亦或者稱之為素質的東西,我想這些東西對我以後的學習...

ACM暑假集訓

出自 南昌理工學院acm集訓隊 什麼是母函式?生成函式即母函式,是組合數學中尤其是計數方面的乙個重要理論和工具。完全看不懂,話說要不因為做了杭電的1028,完全不會去用,好像母函式還有這幾種來著,l級數 貝爾級數和狄利克雷級數 這裡我就說說普通母函式吧 其他的我也不懂 母函式的思想很簡單 就是把離散...

大一暑假acm集訓總結

整整乙個月的acm集訓終於結束了。放鬆。頭一次早晨睡到9點,滿足。趁熱乎,寫一下總結吧。學習了兩個星期,差不多算是把譚浩強的c語言書又過了一遍吧,比較新奇的是用的os x系統的xcode軟體學的,感覺這個系統挺適合學習工作的,因為沒啥遊戲玩。因為我之前就把c語言學的差不多了 其實也很簡單,課本上所有...