思路 磁帶碎片

2021-09-25 21:02:26 字數 1178 閱讀 1682

思路

某一碎片當前所在點為起點指向應去往的點,形成環或平面;

可用dfs,深搜乙個點,存步數,再從此點之前深搜其他點

原題出於最高安全性考慮,司令部採用了特殊的安全作業系統,該系統採用乙個特殊的檔案系統。在這個檔案系統中所有磁碟空間都被分成了相同尺寸的n塊,用整數1到n標識。每個檔案占用磁碟上任意區域的一塊或多塊儲存區,未被檔案占用的儲存塊被認為是可是用的。如果檔案儲存在磁碟上自然連續的儲存塊中,則能被以最快的速度讀出。 因為磁碟是勻速轉動的,所以訪問上面不同的儲存塊需要的時間也不同。讀取磁碟開頭處的儲存塊比讀取磁碟尾處的儲存塊快。根據以上現象,我們事先將檔案按其訪問頻率的大小用整數1到k標識。按檔案在磁碟上的最佳儲存方法,1號檔案將占用1, 2, …, s1的儲存塊,2號檔案將占用s1+1, s1+2, …, s1+s2的儲存塊,以此類推(si是被第i個檔案占用的儲存塊的個數)。為了將檔案以最佳形式儲存在磁碟上,需要執行儲存塊移動操作。乙個儲存塊移動操作包括從磁碟上讀取乙個被占用的儲存塊至記憶體並將它寫入其他空的儲存塊,然後宣稱前乙個儲存塊被釋放,後乙個儲存塊被占用。 本程式的目的是通過執行最少次數的儲存塊移動操作,將檔案安最佳方式儲存到磁碟上,注意同乙個檔案的儲存塊在移動之後其相對次序不可改變。

輸入第一行包含兩個用空格隔開的整數n和k(1≤k≤n≤100000), 接下來的k行每行說明乙個檔案,對第i個檔案的說明是這樣的:首先以整數si開頭,表示第i個檔案的儲存塊數量,1≤si≤n-k,然後跟si個整數,每個整數之間用空格隔開,表示該檔案按自然順序在磁碟上占用的儲存塊的標識。 所有這些數都介於1和n之間,包括1和n。乙個磁碟說明中所有儲存塊的標識都是不同的,並且該盤至少有乙個空的儲存塊。

輸出第1行:輸出乙個整數m,表示將檔案按最佳方式儲存到磁碟上所需進行的最少儲存塊移動操作次數。如果檔案已按最佳方式儲存,則輸出0。

樣例輸入 copy

20 3

4 2 3 11 12

1 73 18 5 10

樣例輸出 copy9提示

本題可以看作是乙個置換的調整問題。按檔案塊的目標位置對檔案塊編號後,調整檔案塊位置的問題就轉化為調整置換的問題了。不過,本題還有一點特殊之處,就是存在一些數,它們不要求歸位,這些數可作為交換空間。 找出所有的迴圈節,分情況討論。如果乙個迴圈節上所有的數都是要求歸位的,那麼必須先利用交換空間將乙個數先交換出去,然後其他數都歸位,最後再把交換出去的數換回來。如果這個迴圈節上有不需要歸位的數,則可直接貪心,將可以歸位的盡量歸位即可。

內部碎片和外部碎片

記憶體碎片分為內部碎片和外部碎片。內部碎片 內部碎片就是已經被分配出去 能明確指出屬於哪個程序 卻不能被利用的記憶體空間 內部碎片是處於區域內部或頁面內部的儲存塊。占有這些區域或頁面的程序並不使用這個儲存塊。而在程序占有這塊儲存塊時,系統無法利用它。直到程序釋放它,或程序結束時,系統才有可能利用這個...

幾種磁帶的格式

dat digital audio tape 技術dat 技術又可以稱為數碼音訊磁帶技術,最初是有惠普公司 hp 與索尼公司 sony 共同開發出來的。這種技術以螺旋掃瞄記錄 helical scan recording 為基礎,將資料轉化為數字後再儲存下來,早期的 dat技術主要應用於聲音的記錄,...

貪心 回溯(磁帶長度)

題目內容 設有n個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是li,1 i n.程式儲存問題要求確定這n個程式在磁帶上的乙個儲存方案,使得能夠在磁帶上儲存盡可能多的程式。在保證儲存最多程式的前提下,要求磁帶的利用率最大。程式設計任務 對於給定的n個程式存放在磁帶上的長度,程式設計計算磁帶...