9 21聯考總結

2021-06-25 20:42:33 字數 989 閱讀 7644

最近腦洞也是大的可以,今天題目比較難,只寫出了兩道題,居然乙個檔名打錯乙個忘了寫檔案流。

本來想想總該比昨天考得好吧,結果呵呵了~

算了,抱怨也沒什麼用,只是記錄一下讓自己以後不要再腦洞大開。

第一題是二分圖染色,每一條天使通訊路徑當做乙個節點,如果兩個路徑出現相交那麼就將兩點連上無向邊。

其實也不用真的連,只要出現相交dfs下去就可以了,顯然只能出現黑白相間的情況,否則就會非法。

所以我們判斷三種情況:

(1)當前點沒有染過色,那直接染就好了

(2)當前點染過色,與目標顏色相同,那麼說明這個點沒有必要再dfs下去

(3)當前點染過色,但與目標顏色不相同,那麼出現非法情況,直接跳出

我原來的做法其實就是用bfs代替dfs,其實本質也差不多,但是忘寫檔案流也是沒話說。

第二題是動歸加矩陣快速冪優化,假設sjy在第j個時刻處於第i個城市,那麼方案數顯然是:

f[i][j]:處於以上情況下的方案數  k為所有存在k->i單向邊的點編號

f[i][j]=sigma(f[k][j-1]*map[k][i])+f[i][j-1];

觀察題目的資料,我們發現城市的標準數字很低,但是t卻很高,達到10^8

然而依照現在的做法我們需要開出10^8的空間,顯然不可能。

觀察轉移方程我們發現,我們不需要儲存上乙個之前的狀態,那麼只要滾動陣列就可以解決空間問題。

但是時間問題如何解決?矩陣快速冪。

(1)我們會發現只要把map[i][i]的位置設定為1(很重要,當時忘掉了)

(2)矩陣的狀態轉移必須建立在沒有轉移限制的基礎上,所以必須暴力動歸直到消除所有限制

剩下的將近10^8的轉移,交給快速冪就可以了。

這題只有50分,因為矩陣當時沒調出來。

倒不是實現能力不夠什麼的,而是發現了鄰接矩陣性質太興奮了,然後map[i][i]=1都忘了。

我還傻傻地在那裡找自己矩乘**寫錯了。

第三題據說是全國賽難度,情何以堪啊。有空再把這題的題解補上。

GDOI2016模擬9 21總結

今天考的一塌糊塗,反映出來的問題比較大。讀完一遍題之後,決定先搞第一題,感覺第三題也挺好想的,就先把第二題放了一放。寫第一題的時候,我想上回文樹,結果構造忘光了,花了大量時間回想演算法。這事情我也幹了不少次了,以前學演算法的時候不夠紮實,最近沒有翻看好久不用的演算法,導致要用乙個東西卻打不出來。必須...

9 21學習記錄

9.21 第三天啦,今天主要看了順序容器,然後把練習題編了一下,雖然出了不少錯,但是錯誤就是收穫麼,收穫了也不少。簡要總結一下幾點。1.用deque給vector,list賦值,但要用迭代器,不能直接賦值。2.list貌似不可用下標操作,只能迭代器訪問。是不是因為list不像是vector那樣順序儲...

9 21每日部落格

今天課上老師留了下次課的課堂測試,主要是檔案的上傳和管理,具體怎樣管理還不是很清楚不過現在清楚的就是檔案的上傳,這裡我在網上找了一些資料,經過篩選我選擇的是菜鳥教程中的檔案上傳的案例來實現。如下 下面的 html 建立了乙個檔案上傳表單。以下幾點需要注意 upload.jsp 檔案 如下 page ...