acm新生集訓第一周比賽題解


第一題:吃雞蛋星人吃雞蛋

題解:簽到題,按題意模擬每天吃的雞蛋數相加即可,但是需要注意的是和的類型應該是long long類型的

第二題:沛奇之戰

題解:難度適中,思維題,其實只有兩種情況,一種是沛沛作弊的情況下兩者的時間差,另一種就是沛沛不作弊當沛沛作弊且先到終點時

而我們只需要判斷什么時候沛沛可以作弊就行了,而這個判斷首先沛沛速度大時,無法作弊,當沛沛速度小時,只有,奇奇離終點的距離大於k時,才能作弊。

(附:本來以為這題的ac率會很高,但是可能因為修改題面的時間有些延遲,導致可能對題意沒有理解,出題人背鍋。。。)

第三題:決戰到天亮

題解:簽到題,有一個小坑,貌似坑了不少人,只需要n>=abs(a)+abs(b),但是如果n-abs(n)-abs(m)如果是奇數,就不可達,可以畫個圖簡單推一下

第四題:你聽,那猹又在咬瓜了

題解:簽到題,但是因為一些出題人的操作,導致數據有大鍋。賽后可以在problem里提交一下

在這里說下操作吧,用一個數組來存當前編號西瓜的是否存在,被猹咬后,變成0,然后輸出還是1的編號就行了

第五題:嚶嚶怪的夜襲

題解:思維題,但沒想到沒人ac

如果一個數是3的倍數,那么這個數的各個位相加應該也是3的倍數

按字符串遍歷,首先當一個數是3的倍數時,划分,如果不是則繼續遍歷到第二個數字,結合起來如果是,則划分。

否則繼續遍歷到第三個數,這時候一定會使得這三個數組合起來一定是3的倍數,划分。

(附:如果沒來聽課,且對這個規律有所疑問的,可以問)

 

第六題:頭發漸漸沛沛

題解:壓軸題! ! !

(附 :拓展歐幾里得 https://www.cnblogs.com/hadilo/p/5914302.html 

首先說正解,通過exgcd判斷  是否有解,即如果c%gcd(a,b)==0則有解,如果有解則將不定方程代入二元二次方程中進行化簡。

具體步驟:先進行消元   代入方程中,可得 然后進行化簡,最后得到

 

這不就是一個一元二次方程的最小解問題

然后根據高中知識可得對稱軸為 

最后在對稱軸兩邊找滿足的解,即可,找到即為最小解

然后說下暴力解法 先假設一個最小值minn1e18+7,直接暴力跑x,讓x-10^510^5開始跑,首先如果滿足不定方程有解,則代入算一個值,如果這個值小於minn,則minn=這個解,然后跑完之后如果minn==1e18+7,則沒有不定方程的解,輸出bold,否則輸出minn就行了。

當然這里要強調的是,minn需要一開始初始化的時候放大一些,否則一些數據會有問題,因為這里也有一個坑,這個最小解是會爆int的,嘿嘿

至於為什么x會在-1e5——1e5之間,看下圖

 

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com