Warning: session_start(): open(/tmp/sess_ffa78fd80c3a4e0ecff952c42d4b58ee, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430

Warning: mkdir(): No space left on device in /data/wiki/lib/plugins/dw2pdf/vendor/mpdf/mpdf/src/Cache.php on line 19
Temporary files directory "/data/wiki/data/tmp/dwpdf/374/" is not writable
Writing /data/wiki/data/cache/d/de2edb2fcb553ea79b79c722a4e13dbc.captchaip failed

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/actions.php on line 38

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/lib/tpl/dokuwiki/main.php on line 12
2020-2021:teams:namespace:小型matlab的实现方式 [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:namespace:小型matlab的实现方式

这个页面用于吐槽多校第四场的一道题目。作为大作业感觉不错,建议未来的助教们考虑考虑。

引言

ZYB对数学有敏锐的直觉,尤其是在几何问题上。

几何问题是这样的:求∠CAM的值。

或者是这样的:如果AC=x−3,BE=20,AB=16,CD=x+5,求x。

为了更容易地分析问题,输入将包含逻辑形式,而不是原始的问题文本和图表。

基本逻辑形式

  • 数字。使用十进制整数表示数字。
  • 未知数字。x是唯一未知的数字。
  • 表达式。表达式可以是一个数字,也可以是一个表达式,其中x只出现一次,最多一次加减法,最多一次乘法。乘法符号可以省略。
    • 例如:233,3x+5,x*2+3,x-2是有效表达式,但3x+5-3,x+2x,5*3,2y不是。
  • 点。使用单大写字母表示点。
  • 线。用Line(Point, Point)来表示一条线(实际上它是一条线段)。
    • 例如:Line(A, B)。
  • 角。使用Angle(Point, Point, Point)来表示一个角。
    • 例如:Angle(A,B,C)。
  • 圆。使用Circle(Point)表示具有特定中心的圆。
    • 例如:Circle(O)。
  • 线段长。使用LengthOf(Line)来获得特定线段的长度值。
    • 例如:LengthOf(Line(A, B))。
  • 角度。用MeasureOf(Angle)得到特定角度的度数值。
    • 例如:MeasureOf(Angle(A,B,C))。
  • 项(Term)。项=线段长|角度|表达式。
  • 相等。使用Equals(Term,Term)来声明这两个项的值相等。
    • 例如:Equals(LengthOf(A,B), 2)、Equals(MeasureOf(angle(A, B, C))。
  • 垂直。使用Perpendicular(Line, Line)表示两条垂直线。
    • 例如:Perpendicular(Line (A, C), Line(B, D))。
  • 平行。使用Parallel(Line,Line)表示两条平行线。保证各点都是有序的。
    • 例如:Parallel(Line (A, C), Line(B, D))。
  • 点在线上。使用PointLiesOnLine(Point, Line)来表示位于直线上的点。
    • 例如:PointLiesOnLine(A, Line(B, C))。
  • 点在圆上。使用PointLiesOnCircle(Point, Circle)表示位于圆上的点。
    • 例如:PointLiesOnCircle(A, Circle(O))。
  • 问题。使用Find(Term)来询问给定项的确切值。
    • 例如:Find(x)、Find(LengthOf(Line(A,B)))。

请注意,图和文本中的所有条件都将转换为逻辑形式。你现在得到了一个只有一个问题(Find phrase)的逻辑表单列表,并希望找到解决方案。

定理

  • 平角定理:如果点C位于AB上,则∠ACB=180∘。
  • 等腰三角形定理:在三角形ABC中,如果AB=AC,则∠ACB=∠ABC,反之亦然。
  • 三角形内角和定理:任何三角形的三个内角加起来等于180∘。
  • 勾股定理:在直角三角形中,如果三条边的长度分别是a,b,c(其中c是斜边),那么a^2+b^2=c^2。
    • 这个定理的逆定理也成立,但是暂时用不到。
  • 全等三角形定理:两个三角形满足下列条件时为全等。
    • SSS:如果三条边对应相等,则两个三角形全等。
    • SAS:如果两边及其夹角对应相等,则两个三角形全等。
    • AAS和ASA:如果有两个对应角相等(相似),又有一组对应边相等,则两个三角形全等。
    • HL:对应斜边和对应直角边相等的两个直角三角形全等。
    • 在全等三角形中,对应边和对应角相等。
  • 相似三角形定理:两个三角形在满足以下条件时是相似的。
    • SSS:三条对应边成比例的两个三角形相似。
    • SAS:两条对应边成比例,且夹角相等,则两个三角形相似。
    • AA:两个对应角相等的两个三角形相似。
    • HL:对应斜边和对应直角边成比例的两个直角三角形相似。
    • 在相似三角形中,对应角相等,对应边成比例。
  • 平行线定理:如果两条直线平行,则同位角(corresponding)相等,内错角(alternate)相等,同旁内角(interior)互补(supplementary)。
  • 直径相等定理:同一个圆的不同直径相等。圆的中心也是每个直径的中点。
  • 圆上点定理:如果AB是圆O的直径,另一个点C位于圆O上,则∠ACB=90∘。

建议

  • 逻辑形式可以嵌套。
  • 保证每个案例至少有一个好的解决方案。一个好的解决方法是:你可以用上面的定理一步一步地解决问题;每一步之后,你获得的新值都是有效表达式(这也意味着表达式中涉及的数字总是整数);步骤数不超过4。
  • 给定的逻辑形式是充分的。
    • 例如:如果一个段上有四个点A,B,C,D,那么将列出四个相应的PointLiesOnLine短语(A-B-C,A-B-D,A-C-D,B-C-D)。
    • 例如:如果给你一个短语Perpendicular(Line (A, C), Line(B, D)),这两条线的交集也会给出。
      • 即:PointLiesOnLine(E, Line(A, C))和PointLiesOnLine(E, Line(B, D)),如果交集是E。
  • 如果AO、BO、CO是三个不同的线段,则很难检测哪个线段位于中间。在这个问题中,您不需要在∠AOB、∠AOC、∠BOC之间建立关系。
    • 除非在这种明显的情况下:如果B位于AC上,则可以使用∠AOC=∠AOB+∠BOC。
  • 所有的数据都来自现实世界的问题,而不是人工构建的。
  • 总共有20个问题。从中选取样本(包括10个问题)。

输入输出描述

2020-2021/teams/namespace/小型matlab的实现方式.1595324162.txt.gz · 最后更改: 2020/07/21 17:36 由 great_designer