oj 1150 快取記憶體區 思維 反推

2021-10-07 21:05:37 字數 934 閱讀 3143

題意;

n為快取記憶體區容量(儲存幾個字母)

若當前字母快取**現,則改字母的使用次數+1

當快取區存滿後,若有新的字母出現,就需要替換快取區中最近使用次數最少的(次數相同,則替換最早出現的那個)。

!即輸出當前快取區的內容

例如:5 abc!deaf!b!

快取區容量為5

存入:a b c d e

1 1 1 1 1(使用次數)

讀到第六位—a時,快取區中有,則增加使用次數

a b c d e

2 1 1 1 1(使用次數)

讀到第七位—f時,快取區已滿且無f,則把b替換掉

a f c d e

2 1 1 1 1(使用次數)

讀到第八位—b時,快取區已滿且無b,則把c替換掉

a f b d e

2 1 1 1 1(使用次數)

思路:遇到!後,反著推。

即從!位置,向前找n個不同的字母,輸入

假如正推,一開始讀入的字母很可能被後面的代替,不是有效資訊

反推的話,我們知道,乙個字母出現,不管快取區原來有沒有他,他必然會存入快取區內。所以,從!位置,向前找n個不同的字母即可

#include

using

namespace std;

int n;

char pos[

100000

],str[

100000];

map<

char

,int

>mp;

intmain()

for(

int j=k;j>=

1;j--

)printf

("%c"

,pos[j]);

puts(""

);}}

}

linux DNS快取記憶體

配置名稱伺服器 本機ip 172.25.254.117 1 安裝 bind 軟體包 yum install y bind2 編輯 etc named.conf listen on port 53 開啟埠 allow query 允許訪問 forwarders 如果伺服器沒有這個位址就去訪問250 3...

快取記憶體DNS

dns 客戶端修改dns 服務端yum install bind y firewall cmd permanent add service dns firewall cmd reload setenforce 0 netstat antulpe grep named vim etc named.co...

快取記憶體DNS

yum install bind y systemctl start named 啟動dns服務 此時可能需要在虛擬機器中進行無規律的敲鍵盤,動滑鼠等操作 systemctl enable named firewall cmd add service dns 設定dns可通過火牆 step1 首先配...