地震预测
来源:互联网 发布:社交网络的好处与坏处 编辑:程序博客网 时间:2024/04/20 22:23
怀特先生是一名研究地震的科学家,最近他发现如果知道某一段时间内的地壳震动能量采样的最小波动值之和,可以有效地预测大地震的发生。
假设已知一段时间的n次地壳震动能量的采样值为a1,a2,…an,那么第i 次采样的最小波动值为min{|ai-aj| | i<j<=n},即第i 次采样的最小波动值是其后n-i次采样值与第i次采样值之差的绝对值中最小的值,特别地,第n次采样的最小波动值为an。
请编写一个程序计算这n次采样的最小波动值之和。
本题有多组输入数据,你必须处理到EOF为止
输入数据第一行有一个数n(1<=n<=105) ,表示采样的次数。
第二行有n个整数,表示n次地壳震动能量的采样值a1,a2,…an (0<=ai<=107 )。
输出n次采样的最小波动值之和。
42 0 3 10
21
map的用法参见http://blog.sina.com.cn/s/blog_49c5866c0100eyh0.html
这题是方法说白了就是从后往前。比如题目的数据2 0 3 10sum为和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;}
0 0
- 地震预测
- Problem 1492 地震预测
- 地震的预测和预报
- 他们预测了汶川地震之一:半个台测出地震
- 地震预测:一个可能完成的任务?
- 关于地震预测的一个胡思乱想
- 地震真的不可预测吗?
- FZU 1492 地震预测 【思路题】
- 当前地震预测研究的状况报告
- 中国地震局驳斥瞒报地震预测结果说法
- 地震专家不是吃干饭的--地震预报和预测
- 李四光预测的地震带及合肥地震分析
- 失落的地震预测(转自搜狐财经)
- 程序员时事面试题——地震预测
- 英美研究人员使用机器学习技术成功预测地震
- 又一次毫无准备的地震,地震预测者能不能换个角度考虑问题?
- 李四光预测地震 中国60年内将有4次特大地震
- 《地震的预测》MOOC课程开课,带你了解你不知道的地震知识!
- Mysql主从架构的复制原理
- 数据库事务
- 单项链表排序
- 改变vue请求过来的数据中的某一项值的方法
- 提高浏览器渲染页面速度
- 地震预测
- leetcode452. Minimum Number of Arrows to Burst Balloons
- Node.js项目--流程控制器、控制异步回调利器
- 49.tlegf【MySQL】20个经典面试题,全部答对月薪10k+
- bzoj 3398 [Usaco2009 Feb]Bullcow 牡牛和牝牛 (dp+前缀)
- MapReduce 笔记 Demo
- 关于G++编译器选项问题的整理
- django框架模块功能初步了解
- cocos android 使用 第三方库 编译报错 一 undefine reference to