1. 程式人生 > 其它 >洛谷試煉場

洛谷試煉場

任何一個偉大的目標,都有一個微不足道的開始。

新手村

任何一個偉大的目標,都有一個微不足道的開始。

洛谷的第一個任務

勇敢的邁出第一步,瞭解下語言和洛谷。跟著書本和老師走,不會難的。

順序與分支

計算機的智慧性開始得以體現,因為計算機能夠根據不同的條件選擇了。

迴圈!迴圈!迴圈!

計算機最不怕的就是重複。你讓它做10000次同樣的事它也不怕啦,但是讓他做1億億次的話……

陣列

跟陣列有關的題目基本上都要用到迴圈,所以請先完成1-3。

簡單字串

計算機不僅可以處理數字,還能處理文字!就是其實跟數字也沒什麼差。

過程函式與遞迴

將程式碼串進行打包,就是過程與函式。過程與函式呼叫自己則為遞迴。有一點小難但不要怕哦。

BOSS戰-入門綜合練習1

這裡將前面的內容綜合起來了,會有點難,不過你可以問老師同學,也能上網查資料。

BOSS戰-入門綜合練習2

勇士,竟然來到了BOSS的老巢!來一場惡鬥,證明自己的實力,解鎖下一個級別!

普及練習場

普及組選手可衝刺訓練,提高組選手亦可在此鞏固基礎。

簡單的模擬

開始普及組的訓練!所謂模擬,就是直接根據題意編寫,思維難度簡單。

交叉模擬

這裡也是模擬,但是會混有些別的部分。思維難度不大,但是編寫起來會有些難度。

排序

將雜亂無章的資料變得有規律。有各種各樣的排序演算法,看情況使用。

排序Ex

這裡的排序就更上一層了。不僅融合了別的演算法與技巧,排序本身也有各種花招。

字串處理

這裡的字串處理還會變得更加的有意思,難度也更大。需要好好地思考一下。

貪心

貪心就是隻考慮眼前的利益。對於我們人生來說太貪是不好的,不過oi中,有時是對的。

深度優先搜尋

搜尋可以窮舉各種情況。很多題目都可以用搜索完成。就算不能,搜尋也是騙分神器。

廣度優先搜尋

廣度優先搜尋可以用來找有關“最短步數”的問題。恩,也可以用來“地毯式搜尋”。

帶有技巧的搜尋

這裡的搜尋不僅包含了dfs和bfs,還包括剪枝、記錄等技巧以加快速度。

分治演算法

將大問題拆分為小問題,分而治之,各個擊破,然後在合併回來。

簡單數學問題

用計算機解決某些麻煩數學問題,再合適不過了。這真是絕妙的搭配啊!

遞推與遞迴二分

遞推,層層遞進,由基礎推向頂層。二分不僅可以用來查詢資料,還可以確定最合適的值。

線性資料結構

陣列,連結串列,佇列,棧,都是線性結構。巧用這些結構可以做出不少方便的事情。

樹形資料結構

由一個根節點分叉,越分越多,就成了樹。樹可以表示資料之間的從屬關係

動態規劃的揹包問題

這是最基礎的動態規劃。不過如果是第一次接觸會有些難以理解。加油闖過這個坎。

線性動態規劃

這也是基礎的動態規劃。是線上性結構上面的動態規劃,一定要掌握。

多維動態規劃

這裡的動態規劃就不止一維了。不僅要小心時間複雜度,也要注意空間複雜度。

更要技巧的動規與記憶化

這邊的題目有各種搞法。當然有的題目也可以使用記憶化搜尋來降低思維難度。

高精度演算法

就算是long long(或int64)還不夠怎麼辦?用高精度演算法。自己動手豐衣足食。

貪心EX

雖然是貪心題,可能不是你當時你虐著玩的貪心惹qwq

簡單數學

數學和oi是密切相關的,數學不僅是oi的基礎,而且是演算法的核心。

BOSS戰-普及綜合練習1

好不容易闖到這一關,你那還等什麼呢?抄起傢伙趕快上啊!

BOSS戰-普及綜合練習2

來搞定第二個BOSS。雖然戰鬥艱難,但你一定沒有問題。

BOSS戰-普及綜合練習3

普及練習場的大BOSS:“一定讓你有去無回”。怎麼辦呢?只能打倒他開啟下一個級別!

普及常見模板

這裡集中了比較基礎的演算法的模板。提高和省選也有模板題哦!

提高歷練地

已經去除了普及組難度的,請組織放心。成長大牛之必寫題!!!

搜尋Ex

開始提高組的試煉。這裡已經去除了所有普及組難度的題目。哼哼,怕了吧。。

動態規劃TG.lv(1)

這是提高組難度中比較基礎的動態規劃,也許一兩個轉移方程就可以寫出。

動態規劃TG.lv(2)

這裡的動態規劃稍稍有所加大難度,思考轉移方程的時間可能會與編寫程式的時間持平。

動態規劃TG.lv(3)

比較需要技巧的動態規劃。有的不僅僅需要狀態轉移方程,可能還會與別的演算法綜合。

數論

數論就是研究整數的理論。包括公約公倍數、質數、尤拉定理和同餘方程等。

博弈論

博弈論考慮遊戲中的個體的預測行為和實際行為,並研究它們的優化策略。

其他數學問題

聽說學oi的同志們數學都挺好。那麼。就請完成下面的題目證明這一點吧!

圖的遍歷

圖是一種非常重要的資料結構,描述物件複雜的練習。這裡開始接觸圖的基本概念。

最短路問題

最短路是圖論中最重要的部分,多種演算法可以應用。很多題目都可以抽象成這種模型。

最小生成樹

最小生成樹可以用kruskal(克魯斯卡爾)演算法或prim(普里姆)演算法求出。

較複雜圖論I

別的些圖論問題,包括樹、拓撲排序等。要過這一關,需要學習不少新的演算法。

較複雜圖論II

更高階的圖論演算法。包括差分約束、強連通、二分圖等。會更難一些。

並查集

用於處理一些不相交集合的合併及查詢問題。常常在使用中以森林來表示。

堆總是一棵完全樹;堆中某個節點的值總是不大於或不小於其父節點的值。

線段樹樹狀陣列基礎

這都是比較高階的線性資料結構。在處理一些詢問與修改線性問題時,是很好用的。

神奇的解法

有些問題剛開始覺得無從下手。好好想一想,儘量別看題解,否則你會大呼“簡單”。

倍增

一種特殊的列舉演算法,但可大大加快效率。近年noip有考到。難度較大。

強連通分量

強連通分量

BOSS戰-提高綜合練習1

年輕人,又是個送上門的,讓我來看看你真實的本領。啊哈哈哈哈哈!

BOSS戰-提高綜合練習2

再來!這裡有的題目並非單純的考察某個演算法,而是考察一種綜合性的思維。

BOSS戰-提高綜合練習3

既然已經打倒了前面2個boss,那麼第3個也是沒有問題的。少年,來吧!

提高模板-nlogn資料結構

雖然這些演算法不是noip必須的,但是不算困難,很多題目可以使用這些方法。

省選鬥獸場/NOI神殿

為省選及以上選手製作的訓練場。其實,省選水平的oier不需要一些外加的刷題列表,本欄僅供參考,也歡迎各位指出不足。

省選基礎-讀入/輸出優化

讀入/輸出優化是省選刷題時必要的一個東西,這裡給出了幾題,需要自己手寫相應的讀入輸出處理。作為第一關,這一關相對簡單。

省選基礎-位運算

位運算往往在必要的時候,能帶你優化一下常數,也許是空間;也許是時間;有的時候這樣可以多過很多分

省選基礎-打表

打表雖然很賴皮,而且基本都是非正解,但是這種辦法能讓我們在省選中拿到一些會超時或者會超空間的一些資料點

動態規劃1

動態規劃

動態規劃2

動態規劃

網路流——最大流

最大流

網路流——費用流

費用流

單調佇列

單調佇列

概率期望

概率期望

二分圖

二分圖

點分治

點分治

字尾陣列

字尾陣列

主席樹

主席樹

數位DP

數位DP

AC自動機

AC自動機

平衡樹

平衡樹

樹鏈剖分

樹鏈剖分

動態樹

動態樹

樹套樹

樹套樹

可持久化Trie樹

可持久化Trie樹

莫隊演算法

莫隊演算法

分塊

分塊

莫比烏斯反演

莫比烏斯反演

其他

其他

USACO

美國經典的演算法練習題庫,值得一刷

USACO Section 1.1

USACO Section 1.2

完全列舉

USACO Section 1.3

貪心

USACO Section 1.4

有技巧的列舉

USACO Section 1.5

二進位制數

USACO Section 2.1

圖論和洪水填充

USACO Section 2.2

資料結構與動態規劃

USACO Section 2.3

USACO Section 2.4

最短路徑

USACO Section 3.1

最小生成樹

USACO Section 3.2

揹包問題

USACO Section 3.3

歐拉回路

USACO Section 3.4

計算幾何

USACO Section 4.1

最優化

USACO Section 4.2

網路流

USACO Section 4.3

高精度

USACO Section 4.4

USACO Section 5.1

二維凸包

USACO Section 5.2

USACO Section 5.3

啟發式搜尋

USACO Section 5.4

USACO Section 5.5

作者: lzx1609