[考試反思]0801NOIP模擬測試11


8月開門紅。

放假回來果然像是神志不清一樣。

但還是要接受這個事實。

嗯,說好聽點,並列rank#7。

說難聽點,垃圾rank#18。

都不用粘人名就知道我是哪一個吧。。。

因為圖片不能太長,所以就不截圖了。

你是全場最垃圾的,T1唯一一個hzoi里爆零的,明白沒有?

全場最低分40。(會打sort即可)呃。。。除了我

T2已經打了一個20分的狀壓,結果測試點分治RE0覆蓋掉了,我???

T3是好久沒有用到的一個思路,想到什么就打一句注釋記錄思路,結果就。。。除了sdfz遠程同網考的,全場唯一一個AC???

怎么總感覺我這個人這么奇怪啊???

個人感覺這套題非常爛,但是我考得太爛沒資格這么說,所以誠當我是在狡辯即可。

這次考試題不值得寫題解,就不單寫了。大概講講思路。

T1大概是一個線段樹吧?像曾經的一道原題。

理論AC復雜度是26 m log n。但是卡常極其嚴重。

雖說我打的線段樹的理論復雜度也是這個樣子,但是我的思路和別人都不一樣!(改對后)愣是T成40!

也就是和純暴力sort一個分。。。

卡常,卡常。最后T70。別人都什么循環展開卡常A了,我因為思路不一樣無法繼續卡常。

棄了,向tdcp學習暴力AC。

暴力的思路簡單:優化桶排,只不過是把相同的字母合並成一段一段的來進行處理。

理論最劣復雜度O(nm),但是即使在最劣測試點下,開O2也能順利的過掉(不開O2需要2.6s,完全退化為nm)。

更何況這道題的測試點是卡線段樹去的,我這個暴力跑的飛快。

傻逼卡常題。除了桶排序/暴力以外什么都沒學到,毫無意義。

exp+=0.1。浪費一晚上+一早上改,又暴力碾標算了,還碾了93+%的時間。

T2,神dp!!!想不出來,就是廢題一道。

本來是一個很考驗思維的好題,但是這道題致命缺陷。

關鍵是題面描述不清楚(其實不是不清楚,就是錯誤),因此花費了大約85分鍾在錯誤的題意上。

后來去問教練/學長,都說沒有問題。徹底心態爆炸。

我都把所有情況畫出來了,怎么可能沒問題?

后來強行扭曲題意(想象出題人忘打了哪句話),題意變簡單了,還過樣例了。。。

就是題目有問題啊啊啊!!!坑害了一大批人!!!

剩余時間不允許,碼了個狀壓碼了個搜索,狀壓裸上20分,測試點分治小狀壓大搜索超時輸出0,RE,爆零,覆蓋了那20分。

題目有誤,rp--,exp+=0.1。(花了85分鍾做了一道本身就不可做的題會有什么收獲?認栽)

T3,考驗對二進制的理解,結合01-trie。考場上一步一步想,一點一點寫,還是有一定收獲的。

 1 //發現:對手的操作就是把目前數字左移1位,溢出位補到末尾
 2 //轉化:對手可以把前1~i個操作都左移1位,溢出同上
 3 //簡化:對手一共有m個數,他會選其一來異或你使你盡量小
 4 //問題:選出數使它被m個數中任意一個異或后的得數的最小值盡量大,最大值?方案數?
 5 //求解:0/1-trie,盡量避開對手的m個數。復雜度O(mn)?
 6 #include<cstdio>
 7 int n,m,c[100005],ss,ans=-1,fa,cnt,t[3000005][2];
 8 int ll(int p){return p&1<<n-1?p<<1^1<<n^1:p<<1;}
 9 void insert(int p,int pos){
10     for(int i=n-1;~i;--i)
11         pos=t[pos][p&1<<i?1:0]?t[pos][p&1<<i?1:0]:(t[pos][p&1<<i?1:0]=++cnt);
12 }
13 void dfs(int pos,int aans,int dep){
14     if(dep==-1){
15         if(aans==ans)fa++;
16         if(aans>ans)ans=aans,fa=1;
17         return;
18     }
19     if(t[pos][0]&&t[pos][1])dfs(t[pos][0],aans,dep-1),dfs(t[pos][1],aans,dep-1);
20     else if(t[pos][0])dfs(t[pos][0],aans|1<<dep,dep-1);
21     else dfs(t[pos][1],aans|1<<dep,dep-1);
22 }
23 int main(){
24     scanf("%d%d",&n,&m);
25     for(int i=1;i<=m;++i)scanf("%d",&c[i]),ss^=c[i];
26     for(int i=0;i<=m;++i)ss^=c[i],ss^=ll(c[i]),insert(ss,0);
27     dfs(0,0,n-1);
28     printf("%d\n%d\n",ans,fa);
29 }
代碼注釋都是考場上記錄下來的

記錄下自己的思想,這是一個新方法。

然而考場上A掉了,會的還是會,不會的還是不會,沒什么額外的收獲,頂多算個復習。exp+=0.5。

然而我最后一題差點犯低錯。第一次提交只剩下10分!(那么總分就將是兩個機房加起來的倒數第一)

然而繼承了前兩次考試的exp,最后30分鍾要回顧/檢查,發現了這個低錯,(10->100,rk56->rk7)

然而這是我之前就知道的。並不算新學到的經驗。

好垃圾的一場考試啊。還是因為我太垃圾?

這次是第一次寫考試反思連一個能紅色加粗的能作為經驗的句子都沒有。。。

考得太爛了。別抱怨了。你要是AK了隨便你怎么說啊

然而,skyh已經徹底的領先我110+分了。

還有最后2次考試,后面的追兵也並沒有想象的那么遠:總分第三yxs離我只有60分。

超越?被超越?

狀態很差啊。

你是怎么了?

別在這越發關鍵的時候沉睡!

你快點醒過來啊!!!

這還是你嗎?

這還是那個有目標有力量的你嗎?!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM