首页 > 编程语言 >一个计算矩形体的数学编程题记录

一个计算矩形体的数学编程题记录

时间:2023-01-28 11:24:37浏览次数:66  
标签:列车 countShape 识别码 编程 数学 计算 立方体 矩形

image
image
image

题目大概如下:
给定一个给定大小的立方体:
2x3x6;
3x3x3;
3x5x6;

之后计算这个立方体中小矩形的数量,
组成一个最小的其中单位的大小为1,
也就是最小的立方体在原立方体中占
的位置为1x1x1;

但是同样的1x1x2这个矩形也会从2x3x6
中去获取。

那么计算这道题的思路一开始我想到了
排列组合。

继而我想,三维的问题,先通过解决二维
的问题来解决,也就是先通过解决原立方体上
一个面上的问题继而再解决它对应的三维方向
上的其他问题。

(1)如上图1,ogirinalShape是原立方体上一个2x3的横截面,
而构成这个横截面的坐标如果以1x1这个二维最小单位去区分,
会分为如图那样以一些“点”为端点的许多的坐标组出现。

同样在image
这个动图中,通过蓝色透明层(也就是countShape,用来统计一个给定大小的平面
上有几个不同的1x1的大小的矩形存在),来统计计算countShape在originalShape中
出现的不同变种,
image

ok,当countShape随着从1x1开始不断根据originalShape大小,而不断变化,
并且不会有重复占用位置的大小的数据遍历之后,也就是说明了这个二维层面
上的小矩形体可以存在的数量。

计算这个数量我考虑到用到2x3这个大小的(2+1)x(3+1)= 12
个坐标数据(最大外框坐标),并且对应的变化到countShape可以变化到
得到的不同的坐标数据(countShape坐标),去用编程求解。

这是第一步。

(2)如上图2,假设有一辆疾驰而来的列车,列车载着有不同车厢里
有相同的列车识别码的人们,比如1号车厢里的为9901A,同样地,如果
有8节车厢,那么每一节车厢都会有这个9901A,那么相同列车识别码
的人,他们会参加一个列车长组织的抽奖活动,抽奖活动会最后公布一个
列车活动组合码,活动组合码的规则就是说相同列车识别码的人去合并
起来组成一个“列车链”,而最终这个链有多长是随机的,也就是可以是
长度1,即不跟其他车厢的人组合,也可能是8,可能是5.
而最终列车长公布抽奖结果后,这个码就是对应列车识别码组合的组合码。

image

同样的,列车识别码不会有不同长度的存在。
这样去思考后,我觉得去计算第三维度的小矩形体的数量就可以根据在
列车长度上出现的组合码的组合变化数量来进行计算。

即最简单的1+2+.....+100,车厢号累加的最后数值。

(3)通过第三维度不同大小的伸缩,得到了第三维度的这个z轴上计算的
乘数,那么我预测最终的问题的结果就是一个面上出现的不同矩形的数量,
乘以z轴计算的第二步骤的累加值。

标签:列车,countShape,识别码,编程,数学,计算,立方体,矩形
From: https://www.cnblogs.com/ukzq/p/17069810.html

相关文章

  • 读Java8函数式编程笔记03_高级集合类和收集器
    1. 方法引用1.1. 一种引用方法的轻量级语法1.1.1. 提供了一种简短的语法1.1.2. 标准语法为Classname::methodName1.2. 凡是使用Lambda表达式的地方,就可以使用1.......
  • 0001-手机编程之Lua环境配置
    一、Lua应用场景游戏开发独立应用脚本Web应用脚本扩展和数据库插件如:MySQLProxy和MySQLWorkBench安全系统,如入侵检测系统教程采用AideLuaPro或AndLua+开发......
  • Windows CE 编程的十点忠告
    [文章导读] 本文是根据作者在WindowsCE上编写Raima数据管理器的经验总结出来的,值得CE开发人员借鉴[正文]最近两周我们花了大部分时间将已有的应用程序移植到Microsoft......
  • shell高级编程
    目录Linux大风起兮云飞扬威加海内兮归故乡安得猛士兮守四方Shell大风起兮云飞扬威加海内兮归故乡安得猛士兮守四方......
  • BC7-牛牛的字符矩形
    题目描述牛牛尝试用键盘读入一个字符,然后在屏幕上显示用这个字符组成的3*3的矩形。输入描述一行读入一个char类型的字符。输出描述输出这个字符组成的3*3矩形。......
  • Shell编程
           判断链接:linux下shell中if的“-e,-d,-f”是什么意思「建议收藏」-全栈程序员必看(javaforall.cn)            ......
  • 【学习笔记】组合数学学习笔记
    参考资料:《组合数学》,OI-Wiki排列组合四个计数原理加法原理:并列的方案数加和。乘法原理:叠加的方案数相乘。减法原理:正难则反,补集转换。除法原理:目测用处不大......
  • 读Java8函数式编程笔记02_流
    1. 外部迭代1.1. for循环是一个封装了迭代的语法糖1.1.1. 本质上来讲是一种串行化操作1.2. 很难抽象出不同操作2. 内部迭代2.1. 内部迭代中的相应接口:Stream......
  • Spring编程注意事项
    Spring编程注意事项目录SpringBean定义1、Spring默认扫描包(ComponentScan注解)只扫描application所在的包下2、我们定义一个类为Bean,如果再显式定义了构造器,那么......
  • 离散数学左孝凌版本-------第二章谓词逻辑
    其他版本推荐这位同学的博客离散数学-MushRain我也借鉴了很多,在此感谢......