濟南培訓第二天

2021-08-09 23:58:27 字數 1279 閱讀 1486

首先,了解到了乙個大訊息,那就是今年noip命題負責人換了,所以,這個考試的風格也會發生變化,比如今年預賽就出現了某些奇怪的東西(網路流)。所以,有時間,咱們還是把這個看看吧!

今天還講了treap。

還講了素數篩法,但是對我似乎沒什麼用(因為我每次都用,已經很熟練了)。

下面,再提一些可能有用的知識點:

什麼意思呢?

有的同學可能會聯想起讀入優化,讀入優化,是把乙個整數按字元乙個乙個讀入,那麼輸出優化是不是把輸出的東西乙個乙個字元輸出呢?

其實,正好相反,輸出優化是把要輸出的東西壓成乙個字串,一次性輸出。

有乙個同學做了乙個實驗,用輸出優化前,scanf輸出1000000000個1需要600多秒,但用輸出優化後,只要2秒。

但是一般情況下不要使用輸出優化,原因有兩點:

容易寫錯

一般情況下,輸出量不會特別大

所以,在一般情況下不要用,除非輸出量特別大,並且有乙個**的出題人想卡你的輸出的話,再用。

有人會奇怪,變數名命名還有什麼特別的地方嗎?

其實這裡有個大坑。

我雖然在正式考試時沒有吃過這個虧,但在平時練習時,卻被坑過兩次。

那麼這個神秘的坑究竟是什麼呢?

其實也並不神秘,這是由windows和linux的差別導致的。

也就是說,有些變數名在windows下能編譯通過,但在linux下不行。

比如:index、time、y1

為什麼呢?

因為這些是庫中已經定義的變數,所以,這樣命名肯定不行。

那麼我們有什麼方法去避免這個問題呢?

有兩個方法:

法一(zhx提供):在變數名裡加下劃線,如果嫌麻煩,可以先寫好,再用查詢替換功能替換即可。

法二(cgg提供):重複字母、擷取字母或是取一些奇怪的名字。比如要用到index,我們可以採取in或是ind或是dex(擷取字母),要用time,可以用timee(重複字母),或者比如要用push,可以用pash(取一些奇怪的名字)。當然取奇怪名字還有一定的反作弊影響,還記得上次說的技巧吧——冷靜地看旁邊同學的螢幕,我們看的就是函式名和變數名,所以我們可以取奇怪的名字,比如不用bfs,而用lalala,不用dfs,用solve之類的。

兩個方法各有的的好處,自己覺得哪個用的習慣,就用哪個。

treap:比sbt慢,比sbt好寫

sbt:快、比較好寫,功能不太全面

splay:特別慢,常數巨大無比、功能最強大,不好寫

rbt:比sbt快,難寫

四個理論都是o(logn),但是splay由於常數巨大,可以看做根號n

培訓第二天

在這裡的日子算是有了乙個不錯的開頭,我享受並且鍾意於這樣的日子,且期望自己能夠在這樣的生活中有所成長,有所收穫。早上七點的鬧鐘,在學校作為起床困難戶的我換了個環境之後並不怎麼抗拒這個時間,起得早神清氣爽不是說說而已的。起床之後刷牙洗臉準備完畢,背上電腦 電腦放在書包裡,因為還要帶鍵盤 就差不多了,出...

Cognos產品入門培訓 第二天

8 30從賓館 新達成公寓,很公道 出來,步行到培訓的地方,吃過早餐上樓,老師還沒來。培訓9 30開始,上午的課程繼續昨天的report studio,仍然是入門的操作培訓,按老師的說法 免費的培訓最大的目的就是讓大家有興趣參加收費的培訓,很直白。上午主要是圖表,地圖,過濾器 cognos叫做提示 ...

Biztalk 2004 培訓第二天

時間比較緊張,簡單寫點收穫 1 學習了使用biztalk 2004連線webservice 路由控制 管道 介面卡 執行狀態跟蹤等。2 見識了workflow的強大功能,正在思考如何將infopath以及wss biztalk和webservice整合起來,再加上workflow,一般的公文流轉功能...