說實話,當時noip比賽前就想寫這篇,結果一直沒有足夠的動力和時間寫,現在高考完了,也有了時間,就寫一點東西,記錄一下我的oi經歷吧。
高一時,我是資訊科技課代表(當然沒啥用),每次課上做題基本都最快完成,老師看我閒的沒事在那裡琢磨c++語言,就給我介紹了一下資訊學奧賽,但同時也告訴我這條路要有足夠的耐心而且要犧牲大多數假期甚至部分文化課學習時間,當時家長對此也比較擔心,但由於我的堅持,最終我還是開始踏入了oi這個坑,開始了一年有餘的填坑之路。結果由於學校忙著搞人事變動,沒人管奧賽的事,直到高一暑假才真正開始集中的奧賽培訓。之前一直都是自己有空看看入門書的入門章節,其實收穫並不算大。
第一節課是由lga學長和sxy學姐帶我們入門,當時學的還是pascal。由於之前我自己看過一段時間的swift,而swift在行尾並不需要分號,所以入門時不打分號這個事情困擾了我好久,還好後來慢慢適應過來了。此外一開始的打字速度可以說是慘不忍睹,教練說打上幾天**就快了,也確實如此,幾天之後,打字就由一指禪變成了二重奏。畢竟實用的技能學的最快。
關於pascal,有優點也有缺點。優點呢,就是語法嚴謹,大部分錯誤在編譯階段就不會被忽略,甚至編譯器提示基本就能解決大部分常見錯誤;此外有原生string型別,效率比stl string高了不少;尤其是pascal**易懂,接近偽**。缺點也有,比如**確實比較繁瑣,c++中的{}在pascal中等價表述是begin end,比較麻煩;此外for迴圈的條件限定過於死板,導致for和repeat、while無法完全等價的使用,而c++中的for迴圈則更為靈活,可以與while、do-while等價使用;另外pascal缺少模板庫的支援,而且oi中也不准使用除math庫外的其他庫檔案,導致編碼難度相對上公升,而c++有完整的stl庫支援,就連c也有qsort等常見函式可用。但是目前看來,pascal以後可能會逐步退出oi圈,畢竟ccf計畫在將來noip踢出pascal和同樣倒霉的c語言。pascal可能真的只能在教學領域及某些特定領域使用了。(諷刺的是dev-cpp是用pascal編寫的,而現在不使用linux的考區還在用)
一開始寫的**基本停留在解決小學問題的難度上,比如返回最大值、返回最小值、求個最大公約數等等,還有個神題「校門外的樹」,當時用暴力解決,後來用線段樹解決。當時還不太會陣列(array)的操作,結果乙個猴子選大王硬是寫了兩天,當時就想要乙個可以從中間刪除某個特定元素的陣列,結果很久之後發現stl vector就是我想要的那個陣列
我的oi歷程
之前一直沒有部落格,進隊之後只有自己乙個人,想著開乙個部落格來記錄一下自己的經歷吧。高一接觸到了oi,但是自己的oi之路並不是那麼順利。大概高一整整上半年都沒怎麼有感覺,我們需要在三個月後綜合文化課成績決定是否可以學習奧賽。當時自己非常的 分班之前我都放棄了,noip2016我也就沒有去考。得知自己...
陳凱 面向未來的多雲管理平台
2018年3月21 22日,由中國資訊通訊研究院主辦 中國通訊標準化協會支援的 oscar雲計算開源產業大會 在國家會議中心舉行。混合雲論壇作為 oscar雲計算開源產業大會 的分論壇之一,於3月21日下午召開。論壇邀請到了中國資訊通訊研究院 華雲資料 中國電信北京研究院 華為 雲星資料 廣東電信 ...
3040 中國餘數定理 1(維基oi
題目描述 description 摘自演算法導論。找出第k個被3,5,7除的時候,餘數為2,3,2的數 乙個數k。求出第k個符合條件的數。樣例輸出 sample output 這個就是中國剩餘定理 參見 問是第k個的值,即 a kb b ak.include include include incl...