Every Master was once a disaster or beginner.
選擇題
第一題:C [解析]NOIP政治題具體通知詳見NOI官網(雖然我看了那個通知,但我一個C++記那幹嘛)
第二題:B [解析]補碼轉原碼,符號位為0,補碼=原碼,符號位為1,符號位不變,其餘各項取反,最後在末尾+1(考前剛看了)
第三題:A [解析]1600∗900∗16/8/1024=2182.5KB(1600X900=畫素個數,256位真彩色=16位元組,1600X900*16=總位元組數,/8換算bit,/1024轉成KB)附各種顏色型別佔用bit
1位,(單色);4位:(16色);8位(256色);16(64K色,高彩色);24(16M色,真彩色);32(4096M色,增強型真彩色)。
第四題:C [解析]歷史書上說的很清楚是星期六(歷史渣渣做錯了)其實就是個奧數題啦,我們算出1949~2017年裡閏年和平年分別有多少個,然後算出1949年10月1日到2017年10月1日經過了多少天,然後對7取餘即可。(我考場上就這麼想的,當時我還記得小學數學老師講的“開奧運會的年不一定是閏年因為整百的年開奧運會但不是閏年”但老師沒講全是這樣的:一般的,能被4整除的年份是閏年,不能被4整除的年份是平年;但是如果是世紀年(也就是整百年),就只有能被400整除才是閏年,否則就是平年.如:2000年就是閏年,1900年就是平年,然後我就開開心心的把2000年處理成了平年心裡想哈哈哈哈這個坑繞過去了)
其實有個計算公式
萬年曆算星期幾
只要隨便說出公元几几年幾月幾日就可以馬上算出是星期幾.
只要計算出日的程式碼,月份程式碼,年份程式碼.三個加起來除以七的餘數就是星期幾,(如餘數是三,則就是星期三).
日的程式碼計算:日的程式碼最簡單,就是它本身,是幾號就是幾.
月份程式碼計算:月份程式碼也很簡單,下面有十二個數:1 4 4 7 2 5 7 3 6 1 4 6,分別代表一至十二月份每個月的程式碼.比如,九月份的程式碼為6.(據來賓介紹,他是用逆推的方法,計算出這12個月份程式碼的,即知道某年某月某日是星期幾,反過來推算月份程式碼.)
年份程式碼計算:年份程式碼相對比較複雜,先記住2000年對應的年份程式碼是4,這是基礎程式碼,牢記即可.
假如大於2000年,比如2010年,則對應的年份程式碼是(2010-2000)÷4=2……2,再用基數程式碼4減去2倍的商加上餘數再加1.即4-2×2+2+1=3,則2010年對應的年份程式碼為3.如果沒有餘數,即潤年,則餘數後面的1也不用加.比如2008年,對應的年份程式碼為0.
假如小於2000年,比如1991年,則對應的年份程式碼是(2000-1991)÷4=2……1,再用基數程式碼4加上2倍的商減去餘數.即4+2×2-1=7,則1991年對應的年份程式碼為7.
再記住1個特殊情況,即潤年的3到12月份到最後要加1.
1949年10月1日.
則(2000-1949)÷4=12……3,再4+2×12-3=25,年份程式碼計算結果為25,加上10月份的程式碼1,再加上日的程式碼1,等於27.再除以七的餘數為6,則這一天為星期六.
當然最簡單的還是把你的手錶調到1994年10月1日(蒟蒻沒想到)
第五題:A [解析]畫個n=m的圖(就是顯然成立法)
第六題:C [解析]自己推不解了
第七題:B [解析]畫一個樹就不畫了
第八題:C [解析]C36−4+C46+C56+C66=38
第九題:D [解析]放擋板,答案是C310=120
第十題:B [解析]不會寫轉發的
第十一題:D [解析]只會用sort,qsort的蒟蒻想自殺
第十二題:D [解析]注意註釋,雖然不知道他用的是哪門子語言
第十三題:A [解析]dp應該都會
第十四題:D [解析]ans=1−(0.9∗0.2∗0.9+0.1∗(0.8+0.2∗0.9))=0.74
第十五題:C [解析]2∗60∗3/20=18
第十六題:CD [解析]只會用sort,qsort的蒟蒻又想自殺
第十七題:C [解析]沒寫過這題的人請右轉,慢走不送。NOIP忘了哪一年的初賽原題了
第十八題:D [解析]考前看了一下穩定的含義是原來在前的排序後也在前,(但是隻會用sort,qsort的蒟蒻又想自殺),只有插入。
第十九題:BD [解析]沒寫過這題的人請右轉,慢走不送。NOIP忘了哪一年的初賽原題了
第二十題:BD [解析]政治題,圖靈誰都能選上,王選就是那個鐳射照排的(就是初中政治書上的拿的用自己技術印的報紙(好像是泰坦尼克號的)站起來說話的那個大犇。我給找到原圖了:
填空題
第一題:3 [解析]一看見這題,這不是摩爾莊園精英警察任務裡的嗎,只可惜當年沒有好好研究,為了找這個還登了一下摩爾莊園,都停更了,只有二號神祕湖伺服器還能上(童年回憶)據說2018要搞一個摩爾莊園十週年活動,大家可以去捧個場。
以前你玩摩爾,現在摩爾玩你。
標答:對最上面的1、中間的0和中間的0右邊那個0做操作即可,共3次。
第二題:4 9 [解析]網路流最小割,大綱裡明明說不考,但我學過(\手動開心),後來官方說是沒超綱好像是用什麼正對偶什麼最短路
看程式寫結果
第一題 15 [解析]第一題給上大遞迴,CCF你還我人腦虛擬機器的水題。
第二題 17 24 1 8 5 [解析]考場上看像是一個構造幻方但是沒敢寫,最後發現是NOIP2015提高組D1T1,我還看過這道題,結果還是錯了
第三題 8 [解析]歸併排序求逆序對
第四題 1 3 2017 1 1 321 [解析]是矩形內四十五度反彈,到哪個角,注意cnt清零
填寫程式
沒寫直接抄的dalao的答案
完善程式1:
(1)是不是不少人填了0。。。但是注意下面i的迴圈是從1開始的!所以呢,rest的初始值是p[0]啊。
(2)這個空的話,我當時是在草稿紙上舉了個100÷3來計算的,我們把這個while裡面的東西模擬一遍,就可以發現它是求出一個最大的k使得q*k<=p(似乎就是p div q?),那麼這裡就是填rest < q咯(這裡rest=q*k)。
(3)跟上面一個思路的,上面填對了下面就不可能錯,很明顯是rest/q。
(4)把當前的餘數跟除數的下一位合起來繼續除,注意要寫模!
(5)最後的餘數,直接模就好了啊。
完善程式2:
(1)很明顯是b的入度加1吧。
(2)找到入度為0的點並進隊。
(3)刪掉所有與當前隊頭連線的邊,如果有新的點入度為0就進隊。
(4)傻逼空,肯定隊頭指標加1啊。
(5)更傻逼的空,替換最優解,就是比大小啊。
總結
今年NOIP初賽考題有些難,但也有重題,還有一些往年的NOIP複賽題目(這是我見過的第二份有往年複賽題的初賽題了),所以要同時複習一下往年複賽題(CCF真照顧我這種蒟蒻,但是你出那麼多資料結構理論題幹嘛)。