果然很水,拋去輸入和輸出,程式就一行**
std::nth_element(nums.begin(), nums.begin() + nums.size() / 2, nums.end());
這道題是求median,可以想到quick_select的方法,時間複雜度為平均情況下o(n)。核心就是用的是遞迴地partition。大神們還是0ms過了。
accepted
284k
63ms
c++623b
/*
id: thestor1
lang: c++
task: poj2388
*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;
int main()
std::nth_element(nums.begin(), nums.begin() + nums.size() / 2, nums.end());
std::cout << nums[nums.size()/2] << endl;
return 0;
}
poj2388誰在中間 vector
誰在中間 時間限制 1000ms 記憶體限制 65536k 提交總數 45918 接受 26436 描述fj正在調查他的牛群以尋找最普通的牛群。他想知道這頭 正中 奶牛給出了多少牛奶 一半的奶牛給出了中位數以上的牛奶 一半給予或多或少。給定奇數牛 n 1 n 10,000 及其牛奶產量 1.1,00...
c語言快排(快速排序)poj2388《學習記錄》
坑爹啊這道題,開始說的一萬頭牛,我就忘了,想的牛場頂死1000頭,runtime error半天,我還以為超時了,各種糾結雖然這個排序有點複雜,但是他有點太多了,很多做題的 上的排序一般的都沒法過,所以就喜歡上了快排了,速度快啊 includevoid sort int a,int low,int ...
poj解題報告 1328
不得不說,這題是讓我飽受折磨,畢竟第一次做貪心演算法,而且wa了好多次,幸好有學長的幫助,最終找到了問題所在,是在快排上是問題,double高位不可向int低位轉換,由於一開始強制轉換導致雖然樣例和其他的測試資料過了,但還是wa,現在改完了就對了,附上ac ps 這題通過率是22 真心不簡單 如下 ...