将正方形分割成小正方形

2024-02-03

我有一个大广场。我想把这个正方形分成小正方形。我需要所有可能的组合。我知道组合有无数种,但我有一个限制。我有最小正方形的固定尺寸。

我可以使用蛮力来实现它。但它太长了。

对于这个任务有更好的算法吗?

Thanks!


那么这个问题只有当我们做出两个假设时才有解决方案(否则有无限的组合)

1)最小的正方形有固定的大小
2)切割大方块的方式也是固定的,就好像将方块放入一个网格中,网格中的线按小方块的大小分开。

还有第三个假设可以使问题变得更容易一些

3)大正方形的边长是小正方形的K倍。其中K是整数。

如果两个假设都成立,我们可以继续:

求 N 个(N 为整数)最小正方形的数量:大小为 N*small-size 的正方形

 if ((big-size % N*small-size)==0)
    Number += (big-size / N*small-size)^2
 else
    Number += ((big-size / N*small-size)^2) * (big-size % N*small-size)

* (大号%Nelse 条件中的小尺寸)是存在的,因为如果大方块没有除以 N,那么当将 gid-width 为 N 的大方块“网格化”时,我们将剩下一个“分数部分”。这样我们就可以再次开始划分(再次网格化),但偏移量为 1、2 或 N 小步。步数为(大尺寸 % N小尺寸)。

同样,这些步骤只有在满足 3 个假设的情况下才成立。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将正方形分割成小正方形 的相关文章

  • 用于查找遍历图中所有顶点的路线的更好算法是什么?

    所以我有以下问题 给定 x x y 维度的网格 计算路线数 穿过它 从一个角开始 假设左上角 并结束于 另一个 右下 并穿过每个顶点 因此 我当前的方法只是通过尝试每条可能的路径并计算到达终点并遍历每个节点的路径来进行暴力破解 虽然它有效
  • 在skiena的书中给出的关于应用dfs在图中查找循环的代码中存在错误

    这是dfs的代码 bool processed MAXV 1 which vertices have been processed bool discovered MAXV 1 which vertices have been found
  • 将矩形分组到网格中

    我有一个随机切片的矩形网格 宽度为 80 单位 我已经将网格每一行的可用空间存储在如下数组中 pX 1 sX 15 pX 30 sX 13 pX 43 sX 1 pX 44 sX 17 pX 1 sX 15 pX 16 sX 14 pX 3
  • 可被 N 整除的最小正数

    1 如何找到能被N整除的最小正数 并且它的各位数字和应该等于N 例如 N 结果 1 1 10 190 并且算法时间不应超过 2 秒 有什么想法 伪代码 pascal c 或 java 吗 设 f len sum mod 为 bool 这意味
  • 快速算法可以快速找到一组范围中某个数字所属的范围?

    场景 我有几个数字范围 这些范围不重叠 由于它们不重叠 逻辑结果是任何时候任何数字都不能属于多个范围 每个范围都是连续的 单个范围内没有空洞 因此范围 8 到 16 将真正包含 8 到 16 之间的所有数字 但两个范围之间可能存在空洞 例如
  • 动态规划二维平面算法的递归关系帮助

    所以我一直在研究一种算法 我想要完成的任务是 考虑一个 2D 平面 其中有随机分布在 y 上限和下限之间的目标 该集合为T T1 标有坐标 X Y 有一组 S 个传感器 保证覆盖每个目标 每个传感器的半径为 1 坐标为 X Y 每个目标都有
  • 检查列表是否已排序的 Pythonic 方法

    有没有一种Python式的方法来检查列表是否已经排序ASC or DESC listtimestamps 1 2 3 5 6 7 就像是isttimestamps isSorted 返回True or False 我想输入一些消息的时间戳列
  • 有没有办法根据值是大于 0.5 还是小于 0.5 来进行下限/上限?

    我正在尝试舍入我的价值观 以便如果它是0 5或更大 则变为1 否则就变成0 例如 3 7 gt 4 1 3 gt 1 2 5 gt 3 有任何想法吗 Math Round 3 7 MidpointRounding AwayFromZero
  • 在最小堆中查找 k 个最小元素 - 最坏情况复杂度

    我有一个最小堆n元素并想要找到k该堆中的最小数字 最坏情况的复杂性是多少 这是我的方法 在 stackoverflow 上的某个地方 我读到在最小堆中查找第 i 个最小数字的复杂性是O i 所以如果我们想找到n 1最小的数字 n 毫无意义
  • 使用区间树的最大区间重叠[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何生成排列?

    我的问题是 给定一个长度为 n 的列表 L 和一个整数 i 使得 0 对于任意 i 和任意 2 个列表 A 和 B perm A i 和 perm B i 都必须将 A 和 B 的第 j 个元素映射到 A 和 B 相同位置的元素 对于任何输
  • 以小于 O(n^2) 的复杂度计算两个数组中的互质对数量

    我在挑战中遇到了这个问题 有两个数组 A 和 B 的大小均为 N 我们需要返回对的计数 A i B j 其中gcd A i B j 1 and A i B j 我只能想到暴力方法 它超出了少数测试用例的时间限制 for int i 0 i
  • 如何计算列表的最小不公平性总和

    我试图将问题陈述总结如下 Given n k和一个数组 列表 arr where n len arr and k is an integer in set 1 n inclusive 对于数组 或列表 myList 不公平总和定义为sum中
  • 生成字符串及其子字符串列表的排列的算法

    我已经忘记这个算法有一段时间了 假设我得到了字符串 cccaatt 我试图生成重复字母的每个子串的所有可能变体 EG cccaatt 作为输入将返回 猫 卡特 猫 卡特 ccat 卡特 卡特彼勒 卡特彼勒 cccat cccat cccaa
  • 计算 Adamic-Adar 的快速算法

    我正在研究图形分析 我想计算一个 N N 相似度矩阵 其中包含每两个顶点之间的 Adamic Adar 相似度 为了概述 Adamic Adar 让我从以下介绍开始 给定邻接矩阵A无向图的G CN是两个顶点的所有公共邻居的集合x y 两个顶
  • 什么是确定性快速排序?

    我一直在阅读有关快速排序的内容 发现有时它被称为 确定性快速排序 这是普通快速排序的替代版本吗 普通快速排序和确定性快速排序有什么区别 普通 确定性 快速排序在特定数据集上的行为可能非常差 例如 选择第一个未排序元素的实现在已排序数据上的时
  • 基数首先排序最重要的还是最不重要的,哪个更快?

    我一直在研究基数排序实现 到目前为止粘贴在下面的代码 代码是用 Java 编写的 但在 C C 中应该也能正常工作 正如您从实现中看到的 我首先执行最高有效位 即整数的第 31 位 这似乎更快 因为一旦子组完成 就不再需要迭代 例如 打个比
  • 找到质数?

    为了判断 N 是否是质数 我们只需要查找所有小于或等于 sqrt N 的数字 这是为什么 我正在编写 C 代码 因此试图理解其背后的原因 如果 N 是一个正整数 且能被两个正整数 1 和 N 整除 则 N 是素数 由于数字的约数不能大于该数
  • 如何返回 Solidity 中的结构数组?

    我正在为以太坊智能合约设计一个解决方案bidding 用例包括保留名称 例如 myName 并分配给一个地址 然后 人们可以竞标该名称 在本例中为 myName 可以有多个名称发生多次此类出价 struct Bid address bidO
  • 寻找下一个素数的最佳方法(Java)

    我被要求编写一个程序以最佳方式找到下一个素数 我编写了这段代码 但找不到最佳答案 有什么建议么 public static int nextPrime int input input now find if the number is pr

随机推荐

  • 如何在不单击按钮的情况下将两个值相乘 - javascript

    这是我的小提琴 http jsfiddle net YFgkB 6 http jsfiddle net YFgkB 6
  • 有没有办法从 Qt 中的另一个信号触发一个信号?

    我已经有了一个应用程序 现在正在对其进行调整 在这方面 我引入了一个新信号 当发出另一个信号时必须发出该信号 这在 Qt 中可能吗 编写一个插槽只是为了发出这个信号感觉如此原始和蹩脚 进一步详细说明 我必须将按钮 signalClicked
  • 如何检查哪些提交尚未推送到原点?

    我已经向我的本地分支 我们就说 master 做出了提交 并让 git pull 下来了其他人所做的更改 当我运行 git status 时 我看到类似以下内容 Your branch is ahead of origin master b
  • Autoconf:如何将安装路径获取到config.h中

    我的程序需要在运行时加载一些文件 这些文件将安装到指定的任何文件夹中 configure datadir somewhere 由于我的程序需要在运行时知道该文件夹的位置 因此我需要在某处 define 一个符号 以便 C 代码可以以字符串形
  • 将 Lambda 传递给 pthread_create?

    我在整个网络上搜索答案 但没有找到任何解决方案 你能帮忙吗 我的问题是我正在尝试将 Lambda 发送到另一个函数并使用Pthread跨多个线程运行 lambda 的库 接下来是代码 1 include
  • CX_Freeze - 构建具有管理员权限的 .msi

    我正在尝试从我的 python tkinter 代码创建一个可由其他用户安装的可执行文件 我已经能够使用 cx Freeze 成功执行此操作 但是 exe 无法写入工作或指定目录中的文件 研究这个问题后 我发现这可能是因为 exe没有适当的
  • sklearn ImportError:没有名为 _check_build 的模块

    我正在尝试导入 sklearn 但是当我尝试这样做时 我收到以下信息 ImportError Traceback most recent call last
  • 具有本地 IP 的设备的自签名证书

    设想 我们有一个类似于 WiFi 路由器的设备 它暴露了 UI 和 API 该设备将在我们无法控制的任何 LAN 上运行 就像 WiFi 路由器在任何房屋上运行一样 该设备不属于任何域 通过浏览器通过其 IP 地址 即 192 168 1
  • Laravel 迁移:从现有外键中删除 onDelete('cascade')

    我创建了这样的迁移 table gt foreign a gt references b gt on c gt onDelete cascade 我想删除onDelete cascade 在新的迁移中而不破坏任何东西 我怎样才能做到这一点
  • 在 C# 中计算 Internet(又名 IP、又名 RFC791)校验和

    有趣的是 我可以在除 C 之外的几乎所有语言中找到 Internet 校验和的实现 有人有实现可以分享吗 请记住 互联网协议 http www faqs org rfcs rfc791 html规定 校验和字段是 16 位的 1 的补码 标
  • 3D稀疏矩阵实现?

    我发现了一个非常好的 C 稀疏矩阵实现http www blackbeltcoder com Articles algorithms creating a sparse matrix in net http www blackbeltcod
  • Gson 仅在不为 null 或不为空时序列化字段

    我有一个需求 需要将 java 对象转换为 json 我正在使用 Gson 但我需要转换器仅序列化非空或非空值 例如 my java object looks like class TestObject String test1 Strin
  • unicode 输出 java windows cmd

    我是java新手 所以请原谅我 如果这是常见的知识 但我已经努力搜索 但找不到任何有用的 相关的或可理解的东西 考虑到我是一个C开发人员 这很奇怪 我的问题是 如何让java在Windows shell中打印Unicode字符串 为简单起见
  • 处理 Tornado 中未定义的模板变量

    这是一个龙卷风模板 例如 在文件 logout html 中 我在注销过程中出现错误时呈现 if logout error Oops The logout failed Please close all open documents and
  • android 点击劫持,如何防止它

    试图避免我的观点涉及从覆盖层接收反馈 以下是某人在 Android 上进行的黑客攻击示例 允许用户无意中按下系统按钮属性 甚至输入凭据来执行与最初意图完全不同的操作 http www youtube com watch v gCLU7YUX
  • 在Python中获取文件关联

    我想要在 Linux 和 Windows 中获取与扩展关联的程序 我知道我可以在 Linux 中执行 xdg open 或在 Windows 中启动 但我要在远程服务器上打开媒体文件 因此使用此方法将打开网络浏览器 而不是默认媒体播放器 如
  • 运行 R 脚本 - Ubuntu 服务器

    我最近在 Ubuntu Server 16 04 上编译了 R 我尝试使用 Rscript 函数运行 R 脚本 但遇到错误 当我使用运行脚本时Rscript 输出显示功能as and new 无法找到 R 发行版中包含的方法包中的内容 当我
  • HTML5 必需属性不起作用

    我想创建一个电子邮件联系表单而不刷新页面 所以我在我的 html 文件中添加了 jquery 我使用 html required 属性检查字段是否为空 但是当我在我的 html 代码中添加 jquery 代码时 required 属性不起作
  • 使用未指定的索引。考虑添加 ".indexOn": "g"

    我正在使用 Geofire 在某个区域进行循环查询 设置好观察者后 我会返回位置 但是 随着位置的变化 我还会返回 使用未指定的索引 考虑添加 indexOn g 我的 geofire 数据库看起来像这样 karmadots geofire
  • 将正方形分割成小正方形

    我有一个大广场 我想把这个正方形分成小正方形 我需要所有可能的组合 我知道组合有无数种 但我有一个限制 我有最小正方形的固定尺寸 我可以使用蛮力来实现它 但它太长了 对于这个任务有更好的算法吗 Thanks 那么这个问题只有当我们做出两个假