关于小学生蒟蒻对几何,数据类型,和部分距离的了解与认知

关于小学生蒟蒻对几何,数据类型,和部分距离的了解与认知

呃呃呃第一次写博客,有点不好

1.蒟蒻几何

几何

@zzy写


介绍

你要问我几何是什么?
我不到啊!
其实几何就是数学的分科

几何是研究空间结构及性质的一门学科。它是数学中最基本的研究内容之一,与分析、代数等等具有同样重要的地位,并且关系极为密切。几何学发展历史悠长,内容丰富。它和代数、分析、数论等等关系极其密切。几何思想是数学中最重要的一类思想。暂时的数学各分支发展都有几何化趋向,即用几何观点及思想方法去探讨各数学理论。

看不懂是吧,就是几何就是几何


几何中最简单的也就是小学的矩形,三角形,圆形,长方体,正方体,三角体,球,圆柱体的面积 ( S ) (S) (S),体积 ( V ) (V) (V),周长 ( C ) (C) (C)和表面积 ( S ) (S) (S)的推导了。
公式如下:

长方形/体正方形/体平行四边形/体梯形/体三角形/体圆形 /球
S = a × b S=a×b S=a×b S = a 2 S=a^2 S=a2 S = a × h S=a×h S=a×h S = ( a + b ) × h 2 S=\frac{{(a+b)×h}}{2} S=2(a+b)×h S = a × h 2 S=\frac{a×h}{2} S=2a×h S = π r 2 S=πr^2 S=πr2
C = ( a + b ) × 2 C=(a+b)×2 C=(a+b)×2 C = 4 × a C=4×a C=4×a C = ( a + h ) × 2 C=(a+h)×2 C=(a+h)×2 C = a + b + c + d C=a+b+c+d C=a+b+c+d C = a + b + c C=a+b+c C=a+b+c C = π d C=πd C=πd
S = ( a × b + a × h + b × h ) × 2 S=(a×b+a×h+b×h)×2 S=(a×b+a×h+b×h)×2 S = 6 × a 2 S=6×a^2 S=6×a2/// S = 4 π r 2 = π D 2 S=4πr²=πD² S=4πr2=πD2
V = s ∗ h V=s*h V=sh V = s ∗ h V=s*h V=sh V = s ∗ h V=s*h V=sh V = s ∗ h V=s*h V=sh V = s ∗ h V=s*h V=sh V = 4 3 π R 3 V=\frac{4}{3} \pi R^3 V=34πR3

卧槽,咋还有高中知识?-

其次就是初中,初中分为平面几何立体几何几何证明,666

那平面几何又是个什么?

平面几何指按照欧几里得的《几何原本》构造的几何学。也称欧几里得几何。平面几何研究的是平面上的直线和二次曲线(即圆锥曲线, 就是椭圆、双曲线和抛物线)的几何结构和度量性质(面积、长度、角度,位置关系)。平面几何采用了公理化方法, 在数学思想史上具有重要的意义。

所以,平面几何就是欧几里得的《几何原本》构造的几何学

那立体几何有是个神马?

立体几何(Solid geometry)是3维欧氏空间几何的传统名称—- 因为实际上这大致上就是我们生活的空间。一般作为平面几何的后续课程。立体测绘(Stereometry)处理不同形体的体积的测量问题:圆柱圆锥, 锥台, 棱柱瓶盖等等。 毕达哥拉斯学派就处理过球和正多面体,但是棱锥,棱柱,圆锥和圆柱在柏拉图学派着手处理之前人们所知甚少。尤得塞斯(Eudoxus)建立了它们的测量法,证明锥是等底等高的柱体积的三分之一,可能也是第一个证明球体积和其半径的立方成正比的。

666一个个这么难

那几何证明又是一个肾?

证明是在一个特定的公理系统中,根据一定的规则或标准,由公理和定理推导出某些命题的过程,起作用为减少计算量。比起证据,数学证明一般依靠演绎推理,而不是依靠自然归纳和经验性的理据。这样推导出来的命题也叫作该系统中的定理。

666

我突然想到了一个定理…

勾股定理,是指直角三角形的两条直角边的平方和等于斜边的平方

也就是:

a 2 + b 2 = c 2 a^2+b^2=c^2 a2+b2=c2

证明

欧几里得证明

在直角边为a、b,斜边为c的直角三角形中,分别以a、b、c为边作正方形,如下图所示。连接FB和CD,过C点作CN⊥DE交DE于E点,交AB于M点。

  • A F = A C , A B = A D , ∠ F A B = ∠ C A D , ∴ △ F A B ≌△ C A D ( S A S ) AF=AC,AB=AD,∠FAB=∠CAD,∴△FAB≌△CAD(SAS) AF=ACAB=ADFAB=CADFAB≌△CADSAS
    而△FAB的面积 = △ C A D =△CAD =CAD的面积 = ( 1 2 ) a c × s i n ( 90 ° + ∠ C A B ) = ( 1 2 ) a 2 =(\frac{1}{2})ac × sin(90°+∠CAB)=(\frac{1}{2})a^2 =21ac×sin90°+CAB=21a2
  • △ C A D △CAD CAD与矩形 A M N D AMND AMND等底等高
  • 矩形 A M N D AMND AMND的面积为 △ C A D △CAD CAD面积的两倍,即 a 2 a^2 a2
    同理可得矩形 B M N E BMNE BMNE的面积为 b 2 b^2 b2
  • 正方形 A D E B ADEB ADEB的面积=矩形 A M N D AMND AMND的面积 + + +矩形 B M N E BMNE BMNE的面积
  • c 2 = a 2 + b 2 c^2=a^2+b^2 c2=a2+b2
课本的证明

如上图所示两个边长为a+b的正方形面积相等,
所以 a 2 + b 2 + 4 × ( 1 2 ) × a b = c 2 + 4 × ( 1 2 ) × a b a^2+b^2+4\times (\frac{1}{2} )\times ab = c^2+4\times (\frac{1}{2} )\times ab a2+b2+4×21×ab=c2+4×21×ab,故 a 2 + b 2 = c 2 a^2+b^2=c^2 a2+b2=c2


例题

与圆相关的计算

计算球的体积

Triangle-推荐

正方形的面积(特简单!)

长方形的面积(特简单!)

平行四边形的面积

三角形面积

梯形面积

矩形坐标

B - Intersection - 推荐

B - Right Triangle - 推荐


2.数据类型

基本类型

  • 整型:用于表示整数,如 intshortlong 等。

  • 浮点型:用于表示带小数部分的数值,如 floatdouble 等。

  • 字符型:用于表示单个字符,如 char

  • 布尔型:用于表示逻辑值,只能取 truefalse

    整型​:

  • int:通常占用 4 个字节(32 位),范围为 -2147483648 到 2147483647。

  • short:通常占用 2 个字节(16 位),范围为 -32768 到 32767。

  • long:通常占用 4 个字节(32 位),范围与 int 类似,但取决于平台,有时会更大。

  • long long:通常占用 8 个字节(64 位),范围为 -9223372036854775808 到 9223372036854775807。

浮点型​:

  • float:通常占用 4 个字节(32 位),范围为约 ±3.4e-38 到 ±3.4e38,精度为约 6-7 位小数。
  • double:通常占用 8 个字节(64 位),范围为约 ±1.7e-308 到 ±1.7e308,精度为约 15-16 位小数。
  • long double:通常占用 12 或 16 个字节,范围和精度比 double 更大,具体取决于编译器和平台。

复合类型

C++中的复合数据类型是由基本类型或其他复合数据类型组成的类型,包括数组,指针,引用和结构体。每种复合数据类型在内存中的存储方式和大小都有所不同,以下是C++中常见的复合数据类型及其特点:

数组​:

  • 数组是由相同类型的元素组成的集合。
  • 数据的大小在创建时就确定,并且在整个生命周期中保持不变
  • 访问数组元素时,可以使用下标(索引)来访问特定位置的元素。

指针​:

  • 指针是存储其他变量内存地址的变量。
  • 指针可以指向任何数据类型的变量,甚至可以指向函数。
  • 通过指针,可以直接访问或修改指向变量的值。

引用​:

  • 引用为变量取一个别名,用于简化代码和提高效率。
  • 引用在创建时,必须初始化,并且一旦引用被初始化后,就不能再引用其他变量。

结构体​:

  • 结构体是用户自定义的数据类型,用于将不同类型的数据组合在一起形成一个新的数据类型。
  • 结构体的成员可以包括基本数据类型,复合数据类型甚至其他结构体。

有n个数,经行排序,之后输出原来位置

例题

结构体

#include<bits/stdc++.h>

using namespace std;

struct st
{
	int idx;
	int v;
};
 
st a[114514];

bool cmp(struct st a, struct st b)
{
	return a.v > b.v;
}

int main()
{
	int n;
	cin >> n;
	
	for(int  i = 1; i<= n; i ++)
	{
		a[i].idx = i;
		cin >> a[i].v;
	} 
	
	sort(a + 1,a + n + 1,cmp);
	
	for(int i = 1; i <= n; i ++)
	{
		cout << a[i].idx << endl;
	}
	return 0;
}

#3.距离

欧式

介绍:

欧式距离也称欧几里得距离,是最常见的距离度量,衡量的是多维空间中两个点之间的 绝对距离。
两点之间直线最短的直线距离

画图

欧式距离是我们在直角坐标系中最常用的距离量算方法

通常这这个距离的获取是基于我们熟悉的“勾股定理”,解算三角形斜边得到的

勾股定理:

a 2 + b 2 = c 2 a^2 + b^2 = c^2 a2+b2=c2此乃勾股定理
进行推导可以得出
d = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 d = \sqrt{(x_1-x_2)^{2}+(y_1-y_2)^{2}} d=(x1x2)2+(y1y2)2

例题

[ABC348B] Farthest Point - 洛谷

题目详情 - 【深基7.例1】距离函数 - ACjudge

曼哈顿距离

曼哈顿距离就像城市里的出租车一样穿梭在城市里,也就是只能经行上下左右四个方向移动,通常曼哈顿距离是在几何上使用的,曼哈顿距离依赖坐标系统的转度,而非系统在坐标轴上的平移或映射。

图片更好理解

所以公式就直接就可以算出来

d = a b s ( X i − X j ) + a b s ( Y i − Y j ) d=abs(X_i-X_j) + abs(Y_i-Y_j) d=abs(XiXj)+abs(YiYj)

例题

题目详情 - [ABC253B] Distance Between Tokens - ACjudge
题目详情 - 旅游2 - ACjudge

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值