USACO Cow XOR 解題報告

2021-06-26 16:57:09 字數 2112 閱讀 7762

user: chen chen [thestor1]

task: cowxor

lang: c++

compiling...

compile: ok

executing...

test 1: test ok [0.008 secs, 3500 kb]

test 2: test ok [0.011 secs, 3500 kb]

test 3: test ok [0.008 secs, 3500 kb]

test 4: test ok [0.005 secs, 3500 kb]

test 5: test ok [0.046 secs, 4952 kb]

test 6: test ok [0.089 secs, 6932 kb]

test 7: test ok [0.100 secs, 6008 kb]

test 8: test ok [0.127 secs, 10628 kb]

test 9: test ok [0.068 secs, 3500 kb]

test 10: test ok [0.057 secs, 3500 kb]

test 11: test ok [0.065 secs, 3500 kb]

test 12: test ok [0.103 secs, 6536 kb]

test 13: test ok [0.051 secs, 3500 kb]

test 14: test ok [0.095 secs, 3500 kb]

test 15: test ok [0.292 secs, 13532 kb]

test 16: test ok [0.262 secs, 13664 kb]

test 17: test ok [0.246 secs, 13664 kb]

test 18: test ok [0.162 secs, 11552 kb]

test 19: test ok [0.065 secs, 4952 kb]

test 20: test ok [0.005 secs, 3500 kb]

all tests ok.

紅色的lovro大神描述了演算法的實現。這裡也是完全照著做的,用乙個二叉樹表示,0向左,1向右。greedy的匹配是最優的,大神已經解釋了前面匹配大於後面匹配之和,所以整個過程就是乙個查詢二叉樹匹配的過程(不能匹配只能走另外一支了)。

/* 

id: thestor1

lang: c++

task: cowxor

*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

class tree

};class leaf : public tree

};int main()

node = root;

val = 0;

found = true;

for (int b = 21; b >= 0; --b)

else if (node->right)

else

}else

else if (node->left)

else

}}

if (found)

}node = root;

for (int b = 21; b >= 0; --b)

node = node->right;

}else

node = node->left;

}} if (node->left == null)

else

}fin.close();

ofstream fout("cowxor.out");

fout << maxxor << " " << maxstart + 1 << " " << maxend + 1 << endl;

fout.close();

return 0;

}

Block Voting 解題報告

這道題做的有點狼狽,效率不高,差一點就tle的ac了。看status裡的,ac的時間大多數都是0ms的。肯定有乙個更有效率的演算法的。下面說下我的狼狽演算法。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1223 問題描述 求每個party的權值。第i...

Safebreaker 解題報告

又是吉林大學一道acm題目,題目很簡單,直接暴力解決。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1718 問題描述 對乙個給定數0000 9999 根據一系列猜測,判斷這個數是否存在,存在的話,是否唯一 例如 3321,給定數 作出猜測,1223 ...

路由 解題報告

路由 問題描述 有乙個tcp ip網路 每台計算機都有乙個或多個網路介面。每個介面根據它的ip位址和子網掩碼來識別 即兩個4位元組的數,兩個字 節之間有乙個 號.子網掩碼有乙個二進位制表示法 有k個 1 然 後是 m 個 0 k m 8 4 32 如 212.220.35.77 是乙個 ip 地 址...