Poj_2926 Requirements
2013-10-22 12:12
274 查看
不用说,完全的模板题,就是G++WA
http://poj.org/problem?id=2926
http://poj.org/problem?id=2926
const int MAXN = 100010; typedef double _int; struct Node { _int a[6], b[35]; } s[MAXN]; ///结构体保存每个点的维数坐标(a),处理出来的状态(b) struct Manhattan { int k; _int Min[35], Max[35]; void init() { REP(i, 1 << k) { Min[i] = 1e20, Max[i] = -1e20; } } ///work每次处理处所有的状态,add为增加一个点,del为删除一个点 void work(int id) { REP(i, 1 << k) { _int sum = 0; REP(j, k) { if(i & (1 << j)) sum += s[id].a[j]; else sum -= s[id].a[j]; } s[id].b[i] = sum; } } void add(int id) { work(id); REP(i, 1 << k) { if (Min[i] > s[id].b[i]) Min[i] = s[id].b[i]; if (Max[i] < s[id].b[i]) Max[i] = s[id].b[i]; } } _int get() { _int ret = -INF; REP(i, 1 << k) { _int t = Max[i] - Min[i]; if(t > ret) ret = t; } return ret; } } mandis; int main() { int n; mandis.k = 5; RI(n); mandis.init(); FE(kase, 1, n) { REP(i, mandis.k) cin >> s[kase].a[i]; mandis.add(kase); } printf("%.2lf\n", mandis.get()); return 0; }
相关文章推荐
- poj 2926:Requirements(最远曼哈顿距离,入门题)
- POJ - 2926 Requirements
- POJ 2926 Requirements
- [poj 2926]Requirements[最远曼哈顿距离]
- poj 2926 Requirements N维最远曼哈顿距离
- 最远曼哈顿距离小结 poj 2926 Requirements&hdu 4666 Hyperspace
- HDU 4666 Hyperspace && POJ 2926 Requirements
- poj 2926 Requirements(最大哈密顿距离,二进制)
- POJ-2926 Requirements 最远曼哈顿距离
- [poj 2926]Requirements[最远曼哈顿距离]
- 【水题】 POJ 2926 Requirements
- 最远曼哈顿距离小结 poj 2926 Requirements&hdu 4666 Hyperspace
- POJ2926-Requirements,曼哈顿距离。去掉绝对值符号暴力枚举所有情况,神薙!
- poj 2926 Requirements 【5维点集最远曼哈顿距离】
- poj 2926 Requirements
- POJ - 2926 Requirements
- POJ 2926 Requirements (空间最远曼哈顿距离)
- POJ 2926 Requirements【最远曼哈顿距离】
- POJ 2926 Requirements(多维最远曼哈顿距离)
- POJ 2926 Requirements (多维最远曼哈顿距离)