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; }