HDU3194 Median【中位数+排序】
问题链接:HDU3194 Median。
问题简述:参见上述链接。
问题分析:这是一个计算中位数问题。
程序说明:程序提交后出现TLE问题,按照一般的计算是会出问题的,需要找规律才行,希望有人帮助解决。
题记:(略)
TLE的C++语言程序如下:
/* HDU3194 Median */
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 1000000;
int x[N];
int main()
{
int n, a, x0, b, m;
while(scanf("%d%d%d%d%d", &n, &a, &x0, &b, &m) != EOF) {
x[0] = x0;
for(int i=1; i<n; i++)
x[i] = (x[i - 1] * a + b) % m;
sort(x, x + n);
int median;
if(n % 2 == 1)
median = x[n / 2];
else
median = (x[n / 2 - 1] + x[n / 2]) / 2;
printf("%d\n", median);
}
return 0;
}
浙公网安备 33010602011771号