2019 07 01 NOIP提高組 模擬 A 組

2021-09-24 22:08:28 字數 693 閱讀 5245

t1:顯然求逆序對就行了,然而我因為沒有開long long只有84分。

總結:重申一遍需要計算的數值:陣列範圍,變數型別,時間複雜度。

t2:連邊,bfs即可。

t3:二分答案,然後我們就要判斷答案是否可行。

設f[i]表示以第i個單詞作為某一行的結尾是否可行。自然我們的做法就是列舉乙個j,表示j上一行的結尾。然後在j滿足sum(j+1~i)+i-j-1<=w且(w-sum(j+1~i)-1)/(i-j-1)+1<=mid的情況下用f[j]來更新f[i]。

但這種做法的時間複雜度是o(n^2*log)的,需要優化。接著我們發現符合條件的j的區間是單調遞增的。所以我們可以維護j區間的頭和尾,再維護乙個f的字首和即可。

總結:比賽時我設了乙個n^3的dp:f[i][j]表示第i行尾填的是第j個單詞,導致我比別人少了一些分。dp時要看看有沒有無用的狀態,能省的狀態就要省去。

t4:因為正方體有6個面,地面上最多12個空格、6個顏色面、2個起點和終點,所以一共最多有26個有顏色的地方。而這26個地方一定會有6個地方有顏色,那麼總的顏色狀態數就是c(26,6)=230230,再加上記錄乙個正方體的位置就是230230*20個狀態。

這讓人想到可以用bfs+hash記憶化來列舉。轉移的時候列舉正方體的運動方向,事先預處理一下正方體想每個方向滾的時候每一面的變化情況,然後就可以了。

這題有點複雜,我最終tle98.8分,開了o2才過去的。

NOIP提高組 矩陣

在麥克雷的面前出現了乙個有n m個格仔的矩陣,每個格仔用 或 表示,表示這個格仔可以放東西,則表示這個格仔不能放東西。現在他拿著一條1 2大小的木棒,好奇的他想知道對於一些子矩陣,有多少種放木棒的方案。因為棍子是1 2的,所以很容易就能發現,兩個被分割的塊,除了跨越兩個塊擺放木棍的方案數會對答案有影...

NOIP提高組2005 過河

過河 river 問題描述 在河上有一座獨木橋,乙隻青蛙想沿著獨木橋從河的一側跳到另一側。在橋上有一些石子,青蛙很討厭踩在這些石子上。由於橋的長度和青蛙一次跳過的距離都是正整數,我們可以把獨木橋上青蛙可能到達的點看成數軸上的一串整點 0,1,l 其中l是橋的長度 座標為0的點表示橋的起點,座標為l的...

NOIP提高組 20151029模擬

其實這套題目並不算太難,但是還是發揮不了100 水平。第一題直接線性篩法,求出質數,然後就可以判斷乙個數是否為質數了。這道題還可以用miller rabin去求,後者的速度較快,如果資料再大些,就要使用後者了。第二題,比賽時發現了,當n 7時,答案會每四個一迴圈,但是就沒有繼續往下想,其實想下去會想...