NOIP模擬12

  也算是最近幾次比較水的一次吧。

  考試時看T1像個打表找規律的題,扔了,去看T2,帶修莫隊??不會,完戲。看了T3,我決定還是去看T1。

  看着T1,我突然發現T2是個大水題:主席樹就行,不帶修,修改時只需修改一棵主席樹上的權值。不管了,先切了它。十分鐘碼完,40行,兩個樣例都是一邊過。。。突然心裏特別虛,於是我決定打個對拍,一拍就錯(不要迷信樣例,包括大的!)。

  從頭到結束半個小時T2就搞定了,然後我去推T1的式子,通過打表我們可以發現:一隻兔子與其爸爸的差必然爲斐波那契數列中的一項,那一項就是比這隻兔子小的最大的一項。於是我們就可以二分出這一項,一直往上掃就可以得到答案。10^12大概到了59項,所以複雜度60*log60*m,好像有點玄(考後證明這樣也能A)。。。。於是想到,可不可以類似倍增lca的思路(將每一個數唯一分解爲若干2的k次冪之和),將每一個數唯一分解爲若干斐波那契數之和,即可知道他們的爸爸與深度。然後就愉快的AC了這道題。

  大概還有50min,去看T3,看了看,好像倒着掃就可以確保字典序最小,k=1直接硬判,k=2可以用並查集維護,但是沒有想到在值域上求解。所以打了個在點上求解的,理論複雜度O(n^2)。

  最後一看,T3炸了?輸出ans->輸出ans+1,分數12->40,把else放在另一個if裏面,分數40->72,改了改擴展域並查集,分數72->84,

  最後被玄學了:

1 printf("%d\n",ans);
2 int len=h.size();
3 for(int i=len-1;i>=0;i--)
4     printf("%d ",h[i]);

  wa84到死,不知怎麼回事,後來改成了這樣:

1 printf("%d\n",ans);
2 for(int i=ans-2;i>=0;i--)
3     printf("%d ",h[i]);

  感覺沒啥用,也沒交,後來交了一下,A了?

  T1A掉了,T2莫名其妙wa了,什麼鬼,我拍了2個小時呢,發現顏色可以>n,改了之後,T了?

  卡了卡常,A掉了。

  感覺這次還行,至少三道題都是正解思路(除了T3在值域求解),但是因爲種種原因炸成了100+75+12=187,rk4

沒了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章