#define pii pair<ui, ui>
#define ui unsigned int
void lfu(int frame) {
int hit = 0, miss = 0, size = 0;
ui in;
unordered_map<ui, ui> page;
set<pii> pool;
while(in1 >> in) {
//find
if(page.count(in)) {
hit++;
pool.erase(make_pair(page[in]++, in));
pool.emplace(make_pair(page[in], in));
}
//miss
else {
miss++;
//full
if(size == frame) {
size--;
page.erase((*pool.begin()).second);
pool.erase(pool.begin());
}
pool.emplace(make_pair(1, in));
page[in] = 1;
size++;
}
}
double rate = double(miss) / (hit + miss);
printf("%d\t%d\t\t%d\t\t%.10f\n", frame, hit, miss, rate);
}
I2RlZmluZSBwaWkgcGFpcjx1aSwgdWk+CiNkZWZpbmUgdWkgdW5zaWduZWQgaW50CnZvaWQgbGZ1KGludCBmcmFtZSkgewogICAgaW50IGhpdCA9IDAsIG1pc3MgPSAwLCBzaXplID0gMDsKICAgIHVpIGluOwogICAgdW5vcmRlcmVkX21hcDx1aSwgdWk+IHBhZ2U7CiAgICBzZXQ8cGlpPiBwb29sOwoKICAgIHdoaWxlKGluMSA+PiBpbikgewogICAgICAgIC8vZmluZAogICAgICAgIGlmKHBhZ2UuY291bnQoaW4pKSB7CiAgICAgICAgICAgIGhpdCsrOwogICAgICAgICAgICBwb29sLmVyYXNlKG1ha2VfcGFpcihwYWdlW2luXSsrLCBpbikpOwogICAgICAgICAgICBwb29sLmVtcGxhY2UobWFrZV9wYWlyKHBhZ2VbaW5dLCBpbikpOwogICAgICAgIH0KICAgICAgICAvL21pc3MKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgbWlzcysrOwogICAgICAgICAgICAvL2Z1bGwKICAgICAgICAgICAgaWYoc2l6ZSA9PSBmcmFtZSkgewogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBzaXplLS07ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgcGFnZS5lcmFzZSgoKnBvb2wuYmVnaW4oKSkuc2Vjb25kKTsgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBwb29sLmVyYXNlKHBvb2wuYmVnaW4oKSk7CgogICAgICAgICAgICB9CiAgICAgICAgICAgIHBvb2wuZW1wbGFjZShtYWtlX3BhaXIoMSwgaW4pKTsKICAgICAgICAgICAgcGFnZVtpbl0gPSAxOwogICAgICAgICAgICAKICAgICAgICAgICAgc2l6ZSsrOwogICAgICAgIH0KICAgIH0KICAgIGRvdWJsZSByYXRlID0gZG91YmxlKG1pc3MpIC8gKGhpdCArIG1pc3MpOwogICAgcHJpbnRmKCIlZFx0JWRcdFx0JWRcdFx0JS4xMGZcbiIsIGZyYW1lLCBoaXQsIG1pc3MsIHJhdGUpOwp9
Main.java:1: error: illegal character: '#'
#define pii pair<ui, ui>
^
Main.java:1: error: class, interface, or enum expected
#define pii pair<ui, ui>
^
Main.java:2: error: illegal character: '#'
#define ui unsigned int
^
Main.java:5: error: class, interface, or enum expected
ui in;
^
Main.java:6: error: class, interface, or enum expected
unordered_map<ui, ui> page;
^
Main.java:7: error: class, interface, or enum expected
set<pii> pool;
^
Main.java:9: error: class, interface, or enum expected
while(in1 >> in) {
^
Main.java:13: error: class, interface, or enum expected
pool.erase(make_pair(page[in]++, in));
^
Main.java:14: error: class, interface, or enum expected
pool.emplace(make_pair(page[in], in));
^
Main.java:15: error: class, interface, or enum expected
}
^
Main.java:20: error: class, interface, or enum expected
if(size == frame) {
^
Main.java:23: error: class, interface, or enum expected
page.erase((*pool.begin()).second);
^
Main.java:24: error: class, interface, or enum expected
pool.erase(pool.begin());
^
Main.java:26: error: class, interface, or enum expected
}
^
Main.java:28: error: class, interface, or enum expected
page[in] = 1;
^
Main.java:30: error: class, interface, or enum expected
size++;
^
Main.java:31: error: class, interface, or enum expected
}
^
Main.java:34: error: class, interface, or enum expected
printf("%d\t%d\t\t%d\t\t%.10f\n", frame, hit, miss, rate);
^
Main.java:35: error: class, interface, or enum expected
}
^
19 errors