1. 程式人生 > >長沙雅禮中學集訓-------------------day2

長沙雅禮中學集訓-------------------day2

好的 優化 感覺 需要 有道 發現 簡單的 成功 道理

怎麽說呢,今天的題特別的神奇,因為emmmmmm,T1看不懂(一直到現在還沒有理解明白期望概率什麽的),T2題面看不懂+擴展歐幾裏得求逆元怎麽求我忘了,T3哇,終於看懂一題了,然而寫了個50分的程序但是只拿到了20。

day2考試就寫了T3,還好寫了分段,不然可能就要爆零了(寫的是50分的程序,但是很明顯我的思路出問題了所以只拿了20分的暴力分)

T1:對於一個0/1串,其中一個全為1長度為x的子串會加x^3+k,一個全為0長度為x的子串會減x^2+k,現告訴每個位置為1的概率,求期望的分數。
數據範圍:k<=10^3,串長度<=10^6
前20分是很簡單的2^n 的暴力(感謝劉神教我這種弱雞什麽是期望,概率以及怎麽算)
60分寫dp,枚舉區間,利用前綴積的思想快速求dp
80分,考慮對於長度為x的一串全為1的子串,對分數做出的貢獻是x^3+k,那麽若第x+1位也是1,則貢獻為(x+1)^3=x^3+3*x^2+3*x+1,所以我們需要維護一下3*x^2+3*x+1就好了。
AC做法:考慮k的優化,發現最後對於答案只會存在+k,-k,0,判斷開頭和結尾的數字是否相等,從而優化時間。

T2:說真的,題面看不懂,講的聽的勉勉強強,覺得類似與dp的斜率優化,只考慮上升的一個序列,晚上要找劉神他們討論討論這個題

T3:一棵樹,每個節點都有價值和毒素,取一個點時必須要現取他的父親節點,求毒素不超過m能獲得的最大價值。
20分:題目約束前兩組數據為一條鏈,輕松拿下。
50分:直接用數規,不用任何優化的就能拿掉(看了一下自己的程序,果然是智障的我在dfs的時候出了問題,在沒有要一個父親節點的時候繼續往下dfs了)
AC程序:求一遍dfs序,用樹形依賴背包的模板舒舒服服的ac掉。

下午講了數據結構專題,美滋滋,還都學過,堆,二叉排序樹,線段樹,RMQ,樹狀數組。
不過小哥哥的羅哥n(logn)也真是......
下午講課的總結沒有什麽好寫的,主要就是會賓館以後需要好好的磕一磕下午的一些例題(還是不得不服大佬們的思想,真的是腦洞大)
最後講課結束的時候講課的小哥哥的一句話然後有種頓悟的感覺,用這句話來結束這篇總結相比自然是極好的:數據結構只是工具,不要玩成功利。
覺得說的很有道理,考場上看到一個很想數據結構的題的時候不要是總想著把自己學過的數據結構往裏套,自己腦洞要大一些。
總結:辣雞ysc

長沙雅禮中學集訓-------------------day2