2018NOIp提高組考前集訓心得

2021-09-30 16:38:21 字數 2070 閱讀 7352

背景

弱省小白至強省名校集訓,心得頗多

心得

學習划水一年,連模板都別不全的小白到某市某中學參加考前集訓。

之前在自己的學校裡都是各種考試韌性測試,各種考試爆零。一心只求正解,殊不知出題人心險惡。

而某校則不同。他們的題目大都一套一套做,並且考試時既有簽到題,也有玄學題。上午考完試後,會發出天書題解,並會在講題前留有時間自己分析。在講題時,都是些oi大佬,每個人都會有一套自己的講題方法。

廢話不多說

在集訓那些天,本人倒是補上了之前部分記不到的模板。在講一道簽到題求逆元時,詳解了三種求逆元的方法:

?:費馬小定理:ap−

2=a−

1(%p

)a^=a^ ~(\%p)~

ap−2=a

−1(%

p)?:線性求逆元:inv

i=(p

−p/i

)∗in

vp%i

%p

inv_i=(p-p/_i)*inv_\%p

invi​=

(p−p

/i​)

∗inv

p%i​

%p?:拓展歐幾里得: 一大玄學演算法,以類似與求模方程的解法求逆元…… 費馬小定理適用於單個數求逆元,線性求逆元法適用於某區間內所有數的逆元,拓歐的話隨緣強者專屬

除此之外,就是區間類問題:

?:只維護不修改,o(1)演算法st最快

?:只求和且修改,樹狀陣列常數優

?:既求最值由算和,用線段樹最自由

此外,st錶用的時2進製思想,通過log2來劃分區間;樹狀陣列無法維護就最大值,借助計算機補碼來縮小常數;線段樹是騙分最常使用的資料結構。

?:矩陣優化:通過建立轉移矩陣,利用快速冪演算法,把線性做法的時間複雜度降到log級別

以上種種,很少出現在正解之中

這不是廢話

這次外出考前集訓,學習到的知識點其實很少某蒜客上都講過。這次學到的大都是部分分的拿法以及考試的策略問題。

—————————暴力是正解之母,騙分是省一之師—————————

暴力的優化往往可以拿到很高的分數。在之前本人只想正解

以上演算法常用於騙分:

1.去他的組合數計算,線性求階乘後逆元乘法取模,把帕斯卡·盧卡斯完全拋之腦後。當然,本人記不到他們的**

2.忘記繁瑣的區間模擬 逆序對,樹狀陣列**短[與線段樹相比],好理解[相比於st表],充分呼叫了計算機底層運算,不要大常數,不要o(n

2n^2

n2),只要o(nlo

gn

nlogn

nlog

n),你值得擁有。

3.樸素動態規劃或暴力遞迴,複雜度我確不敢恭維。線性演算法要超時?矩陣優化來幫你。集訓前本人對矩陣不是一竅不通的。推出轉移矩陣,寫乙個矩陣乘法函式本人不會寫類,懶得過載運算子+快速冪,沒有ac也有80.

4.記憶體超限惹不起,滾動陣列造奇蹟。在st表或求大數斐波那契時,本地dev不會報mle,一提交就可能超限。化二位為一維,化一維為個體。

優化操作,滾動最秀;記憶體超限,降維千古

//斐波那契滾動

int a=1,b=1,c;

for(int i=3;i<=n;i++)

cout<5.打表是一門技術,有時也需要靠運氣。

注意事項

1.bug!!!如果你寫完**跑樣例的時候攤上bug,那你多半gg了。寫**之前一定要看清題目,寫的時候也要謹慎。重慶好啊,windows系統可以用devcpp除錯

2.十年競賽一場空,沒寫long long見祖宗!不要讓long long阻礙你的夢想,不要為re讓你止步不前。

3.ac還是gg,freopen很關鍵!在考試時應反覆檢查自己的檔案讀取,提交時不要在freopen前留下// [尤其時很多用慣了oj評測的同學,需要尤為注意]

4.陣列大小要合適。開小了,ac前加p;開大了,你只剩mle。

人生沒有最短路,你我就是連通圖,今天你ac,弗驕,弗傲,明日…………

2018NOIP提高組 貨幣系統(完全揹包)

貨幣系統 在的國度中共有 n 種不同面額的貨幣,第 i 種貨幣的面額為 a i 你可以假設每一種貨幣都有無窮多張。為了方便,我們把貨幣種數為 n 面額陣列為 a 1.n 的貨幣系統記作 n,a 在乙個完善的貨幣系統中,每乙個非負整數的金額 x 都應該可以被表示出,即對每乙個非負整數 x,都存在 n ...

2018NOIP普及組 划水記

這次noip真的是涼透了。好多可以避免的失分。希望有一等吧。第二天就要考初賽了,但是內心毫無波動。複習是不可能複習的。而且感覺很穩 下午初賽。心態很好。和wyc聊了一下初賽打算靠多少,大概爆0 70吧。反正廣東的分數線從來沒有浙江那麼高。過了就行了。初賽還是很順利的。只不過最後一道題雙向鍊錶花了太多...

2018 NOIP備戰計畫

2018 noip目標 1 刷完紫書數論習題 2 聽51nod講座和習題,根據其知識結構來備戰。3 刷完紫書動規 4 初賽前兩個星期左右開始複習 刷紫書動規的時候感覺偏難,進步緩慢。應該自己調低難度 兩個大任務 1 51nod講座 2 按照 演算法競賽高階指南 中動規的分類來刷 線性動規,狀壓動規,...