1. 程式人生 > >9.17總結 & 9.18計劃

9.17總結 & 9.18計劃

什麽 處理 fin 直接 時間 做出 暴搜 操作 text

上午主要是講&改這7天沒改出來的題。
我把《子矩陣》改了。
然後去看樹套樹,有點復雜。然後去學可持久化線段樹和主席樹。
把模板題給做了。
然後就到晚上了。
今晚的考試是\(NOIP\)模擬題,
\(T1\)
數7.
想不到什麽優化,只能暴力,而暴力呢90分都拿不到,只好用分段打表法,用48秒生成了100個10000000的倍數的表,然後從最近的開始跑,最多跑10000000次,穩穩的\(A\)了。
\(T2\)
正方形計數.
一直在肛這個題,感覺可以\(O(n^2)\)做出來,因為對角線確定了正方形肯定是唯一的,但一直沒想出來怎麽通過對角線求正方形的另外兩個點的坐標,時間浪費了太多,於是只好\(O(n^3)\)枚舉對角線,再枚舉另外一個點,算出最後一個點。拿了40分。

現在知道知道對角線求另外兩點的公式了:

int midx = (x[i] + x[j]) / 2;
int midy = (y[i] + y[j]) / 2;            
int x1 = midx - (midy - y[i]), y1 = midy + (midx - x[i]);
int x2 = midx + (midy - y[i]), y2 = midy - (midx - x[i]);

\(T3\)
前綴單詞
顯然又不會做,直接暴搜,用\(string.find\)預處理出每兩個單詞能不能共存,然後搜索,\(50points\)
\(T4\)
數列
明顯的不可做題啊,\(100‘’\text{的數據滿足}n<=10^5\)

,正解顯然是\(O(n)\)或者\(O(n\log n)\)的,時間也不多了,繼續暴搜,\(O(n^2T)\)\(T\)為操作次數。拿了30分。

雖然一道難題都沒切,但這次是少數的沒出現失誤的考試,該拿的暴力分都拿到了,最後的分數是\(100+40+50+30=220\),並不是很難看,至少也是\(Rank2\)

所以,\(9.18\)的任務當然是改題啦。改好題目我會來更新試題的總結。

9.17總結 & 9.18計劃