地震预测
2017-03-31 13:19
211 查看
怀特先生是一名研究地震的科学家,最近他发现如果知道某一段时间内的地壳震动能量采样的最小波动值之和,可以有效地预测大地震的发生。
假设已知一段时间的n次地壳震动能量的采样值为a1,a2,…an,那么第i 次采样的最小波动值为min{|ai-aj|
| i<j<=n},即第i 次采样的最小波动值是其后n-i次采样值与第i次采样值之差的绝对值中最小的值,特别地,第n次采样的最小波动值为an。
请编写一个程序计算这n次采样的最小波动值之和。
Input
本题有多组输入数据,你必须处理到EOF为止
输入数据第一行有一个数n(1<=n<=105) ,表示采样的次数。
第二行有n个整数,表示n次地壳震动能量的采样值a1,a2,…an (0<=ai<=107
)。
Output
输出n次采样的最小波动值之和。
Sample Input
Sample Output
假设已知一段时间的n次地壳震动能量的采样值为a1,a2,…an,那么第i 次采样的最小波动值为min{|ai-aj|
| i<j<=n},即第i 次采样的最小波动值是其后n-i次采样值与第i次采样值之差的绝对值中最小的值,特别地,第n次采样的最小波动值为an。
请编写一个程序计算这n次采样的最小波动值之和。
Input
本题有多组输入数据,你必须处理到EOF为止
输入数据第一行有一个数n(1<=n<=105) ,表示采样的次数。
第二行有n个整数,表示n次地壳震动能量的采样值a1,a2,…an (0<=ai<=107
)。
Output
输出n次采样的最小波动值之和。
Sample Input
4 2 0 3 10
Sample Output
21
map的用法参见http://blog.sina.com.cn/s/blog_49c5866c0100eyh0.html
这题是方法说白了就是从后往前。
比如题目的数据2 0 3 10
sum为和
3和10最后两位直接处理完按照大小形成一个虚拟3 10 sum=17
0插入到这个序列中 0 3 10
比较0的前后减去0的绝对值谁比较小,取小的那个。 取3 sum=20
然后放入2 形成0 2 3 10 比较前后
2-0>3-2 取1 sum=21
使用map的原因是由于map有序。。。。。
#include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<cmath> #include<vector> #include<map> using namespace std; map<int,int>dd; int main() {int a[100100]; int n; while(scanf("%d",&n)!=-1) { int i; for(i=0;i<n;i++) { scanf("%d",&a[i]); } dd[a[n-1]]=n-1; dd[a[n-2]]=n-2; int sum=a[n-1]+abs(a[n-1]-a[n-2]); for(int i=n-3;i>=0;i--) { if(!dd.count(a[i])) { dd[a[i]]=i; } else continue; map<int,int>::iterator t=dd.find(a[i]); map<int,int>::iterator next=++t; map<int,int>::iterator fron; t--; if(t!=dd.begin()) { fron=--t; t++; } else { fron=t; } int minn; if(next==dd.end()) { minn=t->first-fron->first; } else if(t==dd.begin()) { minn=next->first-t->first; } else { minn=next->first-t->first; if(minn>(t->first-fron->first)) minn=t->first-fron->first; //minn=min(next->first-t->first,t->first-fron->first); } sum+=minn; } printf("%d\n",sum); dd.clear(); } return 0; }
相关文章推荐
- 关于地震预测的一个胡思乱想
- 识别地震云,预测大地震[7P]
- 预测地震
- A - 地震预测
- 他们预测了汶川地震之一:半个台测出地震 - [转载]
- 又双叒叕地震了,如何用大数据精准预测地震?
- 地震真的不可预测吗?
- 大数据早报:比特币突破6300美元创历史新高 剑桥大学宣布 AI 在实验室条件下成功预测地震(10.31)
- 地震是能预测的,又人广播里说没有地震的...不想说了,地动仪,电子原理图一张
- 1989旧金山地震:动物预测成功的非经典案例
- 失落的地震预测(转自搜狐财经)
- 地震预测:一个可能完成的任务?
- 地震预测与概率(转)
- FZU 1492 地震预测 【思路题】
- 预测地震,AI或许可以完成这一不可能的挑战
- 大数据早报:Google向化学家开放量子计算机 科学家将机器学习技术用于地震预测(10.25)
- 中国地震局驳斥瞒报地震预测结果说法
- 关注5月28日下弦月相和29日月亮赤纬角最小值 [预测地震]
- 李四光预测的地震带及合肥地震分析
- FZu Problem 1492 地震预测