標籤: 遊記vim
上午在家裏搞頹,下午來學校幹了點正事,把本身已經忘光了的數論補了補,順便還學了一下拉格朗日差值,晚上在家補總結。優化
很早就到了學校,像之前比賽同樣在那裏吃早餐。
到了機房以後狂敲配置模板,表示很羨慕用vim的同窗。spa
先看T1,感受是一道要靠性質的題目?
先寫了一個30分的DP.
後面寫完暴力回來想的時候發現從後往前推好像有些什麼不得了的性質。
因而我就想一步一步算,要麼就相同,要麼就是子集之類的。
結果發現這兩種位運算不知足結合律,因此就沒往這方面想了,而後又想的比較偏,什麼meet in the middle ,FWT合併之類的都出來了。排序
再看T2,第一眼感受與ZJOI day1 T2的題目形式有點像啊,都是要支持修改維護一個最優解。
因此我打完暴力就開始猜結論,而後隨便猜了一下,好像是\(min\{ max\{t_{st+i}+n-i \} \},st \in [1,n]\),反正就是先等一會,而後再轉一圈。
而後發現能夠\(O(n)\)單調隊列一下就40分了。
而後我又發現數據範圍只有\(10^5\),可是時限2s,還開O2,因此我以爲這題確定是分塊,恰好以前學校考過一道分塊加單調隊列的題,可是想了好久也沒有思路(還不如在T3上卡卡常)遞歸
T3,30分就是一個環套樹DP。
當我正準備打的時候,我忽然靈(lan)光(de)一(yao)閃(si),忽然想到能夠用不考慮這條邊的總方案數-強制選這條邊的方案數。仔細一想,忽然發現能夠容斥,那麼複雜度就是\(O(2^{m-n+1}×n)\)的?這複雜度感受是很對的了。
然而等我打完以後發現極限數據根本跑不出來,連80pts的都要跑4s。
因而我決定卡常。
首先發現這個DP看起來很萌,徹底能夠改爲從底向上合併,那麼把深度拿出來排序,只須要一個for循環便可。
而後容斥強行限制了某些點必須選,因此能夠判一想若是爲0就無論,由於取模的常數仍是特別大的。
而後,因爲你已經把遞歸都改爲了循環,因此必定要加register。
當這些優化都加上以後,你會發現跑80pts大約要1.05s。
而後就GG了。隊列
指望分數\(30+40+70=140\)for循環
主要是感受T2有些思路,而後就去玩T2了。模板
下午回去了,在家裏搞頹。
看到成績發現 \(10+40+75=125\).
T1 fst了。
看了一下,發現我狀壓的時候寫的是\((1<< n)-1\)。
其餘分還算正常,T3卡常因此多過了5pts。
給予T1的時間實在太少了,就只有打暴力的時間,並且我最後對拍的時候,n,m都是相同的,固然拍不出錯。
明天仍是好好打暴力,爭取把暴力分都拿到。class
T1,60分簡直就是送的,因此根本沒有仔細想。
T2,40分很容易想,而後我觀察了一下,發現就是a[i]的選完了以後i才能選,因此這就構成了一個拓撲結構,更準確的來講,構成了一棵以0爲根的樹。而後直接貪心顯然是錯的。
因此就xjb亂搞,把兩棵子樹按照歸併排序的那套理論合併,結果樣例都沒過。
T3,隨便寫了個20分就棄療了。
指望分數 \(60+40+20=120\)
你們應該都是這個分數吧,結果一出去。
T3不是傻逼題嗎,爲何必定要記子樹的狀態,tm不記父親的狀態啊。
T2是雅禮集訓原題?並且也是貪心合併?
T1只須要反過來暴力就能夠AC?
涼涼。
無論無論題出的怎麼樣,無論有多少理由,都改變不了本身分低的事實。
不過考試既然已通過去,那麼分數就不是最重要的的了。
今年還只是初三,等到下半年,也就高一了。
但願能儘快地成長吧。配置