题解
2024-07-09 09:11:51
发布于:上海
首先在做题之前,我们先了解宇宙的起源:
天文学认为,宇宙是所有的空间、时间、物质及其等所产生的一切事物的统称,是我们这个物质世界的整体,是物理学和天文学的最大研究对象。这一名词在现代学术界首先是以经典场、量子力学、相对论与引力场、量项维物基等一系列学术概念为基础的现代物理学定义。其次是以人类历史为背景的人文内涵,哲学上又叫世界。
宇宙大爆炸学说
大爆炸宇宙论是现代宇宙学中最有影响的一种学说。它的主要观点认为宇宙曾有一段从热到冷的演化史。在这个时期里,宇宙体系在不断地膨胀,使物质密度从密到稀地演化,如同一次规模巨大的爆炸。大爆炸理论认为:宇宙是由一个致密炽热的奇点于约138亿年前一次大爆炸后膨胀形成的。大爆炸理论的建立基于了物理定律的普适性和宇宙学原理这两个基本假设以及科研工作者的实际观测。
许多人不知道的是,与大爆炸理论已经成为常识相比,在该理论刚刚提出之后的很长一段时间,世界科学界对其的态度是"嗤之以鼻"的。这种奇怪的现象,是因为这个理论与《圣经》所言,宇宙是有一个起点的这一说法具有一致性,当时的科学界受进化论推翻"上帝创造论"的哲学思潮影响,盲目地反对传统理论,不承认与《圣经》相似的这种说法,这一时期的西方科学界普遍坚持宇宙和物质是恒定不变、无始无终的。因此对于所有涉及说宇宙万物都"有一个起点"的理论一概不予承认。包括像爱因斯坦这样的大科学家也受其影响。爱因斯坦在总结引力场方程时发现这个Rμv-(1/2)Rgμv=kTμv的公式将推导出宇宙其实是一个有着从未停止的物质变化的动态宇宙,于是在该公式中又强加了一个"宇宙常数",以维持静态宇宙的计算结果。也就是说,最初的场方程其实是这样的:∧gμv+Rμv-(1/2)Rgμv=kTμv,其中常数"∧"为宇宙常数。自从1922年美国天文学家埃德温·哈勃开始观测到"红移现象"开始,有关"宇宙膨胀"的观点开始形成。1929年,埃德温·哈勃总结出了一个具有里程碑意义的发现,即:不管你往哪个方向看,远处的星系正急速地远离我们而去,而近处的星系正在向我们靠近。换言之,宇宙正在不断膨胀。这意味着,在早先星体相互之间更加靠近,似乎某一时刻,它们刚好在同一地方,所以哈勃的发现暗示存在一个叫做大爆炸的时刻,当时宇宙处于一个密度无限的奇点。听闻此事的爱因斯坦很快来到哈勃工作的威尔逊天文台,在哈勃的带领下亲自进行了红移现象的观测。访问结束后,爱因斯坦公开承认了自己主观意识影响科学结论的错误,并去掉了场方程中的宇宙常数,于是就有了我们所熟知的爱因斯坦场方程(Einstein Field Equation)。就此,哈勃的这一重大发现直接奠定了以大爆炸为中的现代宇宙学根基。
在二十世纪四十年代末,大爆炸宇宙论的鼻祖伽莫夫认为,我们的宇宙正沐浴在早期高温宇宙的残余辐射中,其温度约为6K。正如一个火炉虽然不再有火了,还可以冒一点热气。1964年,美国贝尔电话公司年轻的工程师-彭齐亚斯和威尔逊在工作中发现的宇宙微波背景辐射使许多从事大爆炸宇宙论研究的科学家们获得了极大的鼓舞。因为彭齐亚斯和威尔逊等人的观测竟与伽莫夫的理论预言的温度如此接近,正是对宇宙大爆炸论的一个非常有力的支持!这是继1929年哈勃发现星系谱线红移后的又一个重大的天文发现。宇宙微波背景辐射的发现,为观测宇宙开辟了一个新领域,这一发现,使我们能够获得很多大爆炸早期的直接信息。
2014年3月17日美国物理学家宣布,首次发现了宇宙原初引力波存在的直接证据。原初引力波是爱因斯坦于1916年发表的广义相对论中提出的,它是宇宙诞生之初产生的一种时空波动,随着宇宙的演化而被削弱。科学家说,原初引力波如同创世纪大爆炸的"余晖",将可以帮助人们追溯到宇宙创生之初的一段极其短暂的急剧膨胀时期,即所谓"暴涨"。然而,广义相对论提出近百年来,源于它的其他重要预言如光线的弯曲、水星的近日点运动以及引力红移效应等都被一一证实,而引力波却始终未被直接探测到,问题就在于其信号极其微弱,技术上很难测量。美国哈佛-史密森天体物理学中心等机构物理学家利用架设在南极的BICEP2望远镜,观测宇宙大爆炸的"余烬"-微波背景辐时,计算到原初引力波作用到微波背景光子,会产生一种叫做B模式的特殊偏振模式,其他形式的扰动,都产生不了这种B模式偏振,因此B模式偏振成为原初引力波的"独特印记"。观测到B模式偏振即意味着引力波的存在。南极是地球上观测微波背景辐射的最佳地点之一。研究人员在这里发现了比"预想中强烈得多"的B模式偏振信号,随后经过3年多分析,排除了其他可能的来源,确认它就是原初引力波导致的。2016年年初,美国激光干涉引力波天文台(LIGO)和欧洲引力波天文台(VIRGO)的科学家联合宣布,他们探测到了两个约为30倍太阳质量的黑洞在13亿年前的并合产生的引力波,这一发现给大爆炸理论予以了新的有力证据。
2019年4月事件视界望远镜组织(Event Horizon Telescope Collaboration)在美国、比利时、智利、中国、日本同步发布首张基于观测事实的黑洞照片,这一照片给大爆炸理论又进一步增加了一个有利依据。
遗憾的是对于大爆炸的起点以及起点之前和大爆炸之后的最初阶段,相关的观测严重缺乏,最早期的宇宙物质以及能量的实际形式很大程度上仍只是猜测。
接下来我们来了解地球的起源:
现代地球起源假说是由我国学者江发世提出来的。认为地球是在太阳系外形成的,在距今5.4亿年前被太阳捕获,产生自转和公转,成为绕太阳旋转的行星。地质时期进入显生宙,地球有了阳光,冰川融化,生物爆发式出现,形成大量的灰岩沉积建造。
在距今46亿年前,在太阳系外的宇宙空间,由铁镍物质组成的地核俘获宇宙高温熔融物质和少量塑性物质、固态物质、气体和液体,在地核外形成高温熔融物质巨厚层。
地核与高温熔融物质间形成内过渡层。
地球外表温度降低,熔融物质凝固,形成地球最原始的外壳。
外壳与高温熔融物质间形成外过渡层。高温熔融物质形成液态层。
在这一地质时期,地球形成分层结构,由内向外:地核、内过渡层、液态层、外过渡层、外壳。固体地球结构见下表和图。
在地球表面,由于熔融物质凝固和收缩,形成张裂、沟谷、高山。由于宇宙天体撞击,在地表形成大坑洼地。
然后了解人类的起源:
人们通过对古人类、古猿类化石(包括遗体、遗迹和遗物)以及对现在世界各地的人与猿猴类的各个方面所进行的比较研究,人类起源于古猿的学说已被人们普遍接受。该学说认为,在距今七八百万年以前,人类和类人猿的共同祖先一古猿, 在新生代的第三代和第四代,由于造山运动,向着不同方向进化。生活在林中空地上的古猿、逐渐由树栖生活转到地面上生活,最终进化成人类;而留在森林中的那部分古猿则进化成了类人猿。
接下来了解电脑的起源和发展过程:
计算器是最早的计算工具,例如:古代印加人的一种结绳记事的方法,用来计数或者记录历史;还有古希腊人的安提凯希拉装置;中国的算盘等。
1642年,年仅19岁的法国伟大科学家帕斯卡发明了第一部机械式计算器,但是只能做加减计算。
1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,一直到20世纪50年代末才有电子计算器的出现。
20世纪70年代开始,微处理器技术被吸纳进计算器制程,最初的微处理器是Intel于1971年为日本名为Busicom的计算器公司生产的,1972年惠普推出第一款掌上科学计算器HP-35计算器是最早的计算工具,例如:古代印加人的一种结绳记事的方法,用来计数或者记录历史;还有古希腊人的安提凯希拉装置;中国的算盘等。
1642年,年仅19岁的法国伟大科学家帕斯卡发明了第一部机械式计算器,但是只能做加减计算。
1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,一直到20世纪50年代末才有电子计算器的出现。
20世纪70年代开始,微处理器技术被吸纳进计算器制程,最初的微处理器是Intel于1971年为日本名为Busicom的计算器公司生产的,1972年惠普推出第一款掌上科学计算器HP-35计算器是最早的计算工具,例如:古代印加人的一种结绳记事的方法,用来计数或者记录历史;还有古希腊人的安提凯希拉装置;中国的算盘等。
1642年,年仅19岁的法国伟大科学家帕斯卡发明了第一部机械式计算器,但是只能做加减计算。
1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,一直到20世纪50年代末才有电子计算器的出现。
20世纪70年代开始,微处理器技术被吸纳进计算器制程,最初的微处理器是Intel于1971年为日本名为Busicom的计算器公司生产的,1972年惠普推出第一款掌上科学计算器HP-35
然后了解C+ +起源:
与C语言一样,C+ +也是在贝尔实验室诞生的,Bjarne Stroustrup于20世纪80年代在这里开发出了这种语言。Stroustrup比较关系的是让C+ +更有用,而不是实施特定的编程原理和风格。名称C+ +来自C语言的递增运算符+ +,名称C+ +表示它是C的扩充版本。
C+ + 作者
C++是80年代由贝尔实验室的Bjarne Stroustrup博士及其同事在C语言的基础上开发成功的面向对象(oop)的语言。
C+ +发展:
C+ +是一门以C为基础发展而来的一门面向对象的高级程序设计语言,从1983年在贝尔实验室创立开始至今,已有30多个年头。C+ +从最初的C with class,经历了从C+ +98、C+ + 03、C ++ 11、C+ + 14再到C+ +17多次标准化改造,功能得到了极大的丰富,已经演变为一门集面向过程、面向对象、函数式、泛型和元编程等多种编程范式的复杂编程语言。由于C+ +过于复杂,并且经历了长时间的发展演变,目前对于C+ +标准支持的较好主要有GNU C+ +和Visual C+ +,严格来说,目前还没有一个完全支持ISO C+ +的版本。
接下来了解C+ +:
C+ +是一种面向对象的计算机程序设计语言,作为C语言的继承,C+ +不仅能进行C语言的过程化程序设计,而且可进行以抽象数据类型为特点的基于对象的程序设计,还能进行基于过程的程序设计。C+ +是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它的设计风格支持数据抽象、面向对象程序设计、过程化程序设计、泛型程序设计等。
工作原理:
C+ +语言的程序因为要体现高性能,所以都是编译型的。但其开发环境,为了方便测试,将调试环境做成解释型的。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。
生成程序是指将源码(C++语句)转换成一个可以运行的应用程序的过程。如果程序的编写是正确的,那么通常只需按一个功能键,即可搞定这个过程。该过程实际上分成两个步骤。
第一步是对程序进行编译,这需要用到编译器。编译器将C+ +语句转换成机器码;如果这个步骤成功,下一步就是对程序进行链接,这需要用到链接器。链接器将编译获得机器码与C++库中的代码进行合并。C+ +库包含了执行某些常见任务的函数(“函数”是子程序的另一种称呼)。例如,一个C+ +库中包含标准的平方根函数sqrt,所以不必亲自计算平方根。C+ +库中还包含一些子程序,它们把数据发送到显示器,并知道如何读写硬盘上的数据文件。
接下来我们看这道题(你还在看吗):
#include <bits/stdc++.h>
#define MAX 405
using namespace std;
int n, m;
int a[MAX], f[MAX][MAX], s[MAX];
int main()
{
cin >> n >> m;
for (int i = 1; i <= n; i) {
scanf("%d", &a[i]);
s[i] = s[i-1]+a[i];
}
m;
memset(f, 0x3f, sizeof(f));
f[0][0] = 0;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= min(m, i); ++j) {
int mx = a[i];
for (int k = i-1; k >= 0; --k) {
f[i][j] = min(f[i][j], f[k][j-1]+mx*(i-k)-(s[i]-s[k]));
mx = max(mx, a[k]);
}
}
}
int ans = 0x3f3f3f3f;
for (int i = 0; i <= m; ++i) {
ans = min(ans, f[n][i]);
}
cout << ans << endl;
return 0;
}
全部评论 4
全RE
2024-09-14 来自 北京
02024-07-09 来自 上海
0他每20秒就能做出一道题(和解析,注释)
2024-07-09 来自 上海
0他抄别人的
2024-07-09 来自 上海
0
有帮助,赞一个