1. 程式人生 > >2017開學訓練第九週週末總結

2017開學訓練第九週週末總結

  這週週末主要弄了下數學的相關知識,做了幾道相關題目。本來想看看圖論的最後那個模板的,結果書可能放到教室裡了,從電腦上找到的資料都含糊其辭,根本不懂。

  週五看了一下題目,本來想著會很順利,看了一個就去洗澡了,覺得正好路上仔細想想能出來,結果滿腦子都是暴力加剪枝,還是錯的。回來之後我總覺得複雜度是不夠的,於是看了一眼A題的題解,結果果然不僅僅複雜度不夠,而且暴力的方向都不對。他這個題用到了一個本源勾股數的定義(後來知道的),一看不是我的思路,接著把題解關了去問了問另外兩個做出來這道題的同學,怎麼想的,結果不出所料,也是題解。我想著這樣下去不行啊,第一個題就要看題解做豈不是往後一直要硬著頭皮做。於是建了一個討論群,目的是要是真有都沒學過的知識點,某個人看過題解了知道這個知識點了就發到群裡,大家都看題解還不如不做。弄完群的事兒我就開始自己去想其他題去了,然後發現也不是都不能做,還是有比較基礎的題的,比如H和W,但萬萬沒想到周金秀H題我給她提示之後做了兩天沒做出來,感覺就是可能篩素數那塊理解的不到位,然後就卡住了。

  算上週末一共做出來了六道題,其中A題看了題解,當然,知識點記下了,就是個本原多項式的定義,x=m方-n方,y=2mn,z=m方加n方,m和n互質,就這樣,複雜度降低了1000倍,簡單的暴力就可以過去了(題解只看到知識點介紹結束,比賽之後我覺得必須要剋制了,不會做硬著頭皮想也不看別人的程式碼),之後的那5道水題我就不具體說了,感覺介紹水題一般就是真的沒啥可寫的了。

  除了做題之外,做的另外一件事當然就是補知識點,以前不主看這個的時候總抱有一種心態,這個玩意既然課件上含糊其辭,我也就是了解就行,結果到比賽也啥都用不到,乾脆查資料全給解決掉。一個就是尤拉函式,依我看那個程式碼實現理解起來就是篩素數的升級版(其實跟H題有很多相似之處,我能出來H題可能也跟仔細看了這段程式碼有關)兩種方式,一種單個求,一種集體篩,思路很簡單,就是利用:假設素因子是p1....pn這一點處的尤拉函式值,也就是比他小且與其互質的數的個數為n*(1-1/p1)*(...)*(1-1/pn),有點類似於篩素數,篩的時候順便除掉他的素因子就行了。然後一個比較重要的知識點就是中國剩餘定理,說白了就是解線性同餘方程,利用了一個公式,也很簡單,主要看了一下程式碼實現。還有個比較重要的事兒就是複習了一下log求前幾位數的那個求法,因為一個題用到了,確實也想不出來了,就拿出來以前的部落格看了一下。說實話做題總會讓我覺得沒啥可寫的,因為自己能出的都是水一些的,又想起來隊友讓我反感的一局話了,非得划水找自信,感覺他有點偏離以前的自己了,也忘了自己是在雙開看資料結構了。怎麼說呢,希望他能儘快調整吧,小小的失敗打擊了自信非得划水來找自信我也是醉了,還是以前的他比較上進。