对于100瓦的实例,我认为基于输入图的雕刻分解的动态程序可以适应账单。

雕刻分解

在图论中,图的雕刻分解是其顶点的递归二进制分区。例如,这是一张图

1--2--3

| |

| |

4--5

和其雕刻分解之一

{1,2,3,4,5}

/ \

{1,4} {2,3,5}

/ \ / \

{1} {4} {2,5} {3}

/ \

{2} {5}.

雕刻分解的宽度是离开其一个分区的最大边缘数。在这种情况下,{2,5}具有出发边2–1,2-3和5–4,因此宽度为3.10×10网格的kd-tree风格分区的宽度是13。

图形的雕刻宽度是雕刻分解的最小宽度。已知具有n个顶点的平面图(特别是网格图的子图)具有雕刻宽度O(√n),并且大O常数相对较小。

动态程式

给定n顶点输入图和宽度w的雕刻分解,有一个O(2w n)时间算法来计算最优瓦片选择。这个运行时间在w中快速增长,所以您应该尝试用手分解一些示例输入,以了解要预期的性能。

该算法从下向上对分解树工作。让X是一个分区,让F是离开X的边的集合。我们制作一个映射每个2 | F |的表在F的存在或不存在边缘的情况下,在指定的约束条件下,X上的最优总和(-Infinity,如果没有解)。例如,使用分区{1,4},我们有条目

{} -> ??

{1--2} -> ??

{4--5} -> ??

{1--2,4--5} -> ??

对于仅具有一个顶点的叶分区,F的子集完全确定瓦片,因此可以很容易地填充连接数(如果瓦片有效),否则为-Infinity。对于其他分区,当计算表的条目时,请尝试两个子节点之间的边缘的所有不同连接模式。

例如,假设我们有碎片

|

. .- .- -. .

|

{1}的表是

{} -> 0

{1--2} -> 1

{1--4} -> -Infinity

{1--2,1--4} -> 2

{4}的表是

{} -> 0

{1--4} -> 1

{4--5} -> 1

{1--4,4--5} -> -Infinity

现在我们来计算{1,4}的表。对于{},没有边缘1–4,{1}(条目{})的得分为0,{4}(条目{})的得分为0。边缘1–4,我们得到-Infinity 1 = -Infinity(条目{1–4})。

{} -> 0

对于{1–2},得分为1 0 = 1,不含1–4和2 1 = 3。

{1--2} -> 3

继续。

{4--5} -> 0 + 1 = 1 (> -Infinity = -Infinity + (-Infinity))

{1--2,4--5} -> 1 + 1 = 2 (> -Infinity = 2 + (-Infinity))

最后,我们可以使用这些表来确定最优解。

寻找雕刻分解

有一些复杂的算法来找到很好的雕刻分解,但你可能不需要它们。尝试一个简单的二进制空间分区方案。

用计算机算法拼拼图,算法 – “拼图拼图”拼图相关推荐

  1. 拼图算法,将零碎小图,整理到一张大图之上,自动合并。二叉树实现

    ----------------------------------------------------欢迎查看IM软件业务知识<专栏>-------------------------- ...

  2. Google地图瓦片拼图算法解析

    Google地图瓦片拼图算法解析 概述:主要是阐述如何将瓦片地图图片拼接成完整地图的一些概念以及相关算法. 基本概念: 地图瓦片地址:http://mt2.google.cn/vt/lyrs=m@16 ...

  3. 123457123457#0#---------com.ppGame.SeaPuzzleGame73--前拼后广--宝宝海洋拼图pp

    com.ppGame.SeaPuzzleGame73--前拼后广--宝宝海洋拼图pp 转载于:https://www.cnblogs.com/Ewenblog/p/8204276.html

  4. mysql拼图游戏代码_C#拼图游戏编写代码(2)

    前言:在C#拼图游戏编写代码程序设计 之 C#实现<拼图游戏>(上),上传了各模块代码,而在本文中将详细剖析原理,使读者更容易理解并学习,程序有诸多问题,欢迎指出,共同学习成长! 正文: ...

  5. html5拼图游戏开题报告,拼图游戏开题报告-20210406005939.doc-原创力文档

    拼图游戏开题报告 拼图游戏不仅可以帮助 ___打发时间,还可以用于锻炼儿童脑力,帮助少儿 ___大脑思维是Android平台游戏的一个特点. 智能 ___作为一种兼具通讯.办公.娱乐为一体的便携式工具 ...

  6. 拿命 3 天肝出来的计算机考研数据结构与算法复习笔记(超详细教程,更新中)

    数据结构与算法 基本概述 数据结构指的是"一组数据的存储结构",算法指的是"操作数据的一组方法". 数据结构是为算法服务的,算法是要作用再特定的数据结构上的. ...

  7. 计算机操作系统——页面置换算法

    声明:本篇博客参考书籍<计算机操作系统>(西安电子科技大学出版社) 文章目录 一.最佳页面置换算法 1.基本知识 2.算法思想 二.先进先出(FIFO)页面置换算法 1.基本知识 2.算法 ...

  8. 计算机史上首篇教你从算法问题提炼算法思想的文章

    路人丙:"小夕,你说学算法有什么用呢?" 小夕:"好玩呀." 路人丙:"算法问题那么多,现查现用不就好了?" 小夕:"好咯,既然你 ...

  9. 数据逻辑讨论计算机,1绪论信息技术算法与程序福建教师招考.ppt

    1绪论信息技术算法与程序福建教师招考 力为运动商城整理 数 据 结 构 参考书目: <数据结构> --高等教育出版社 刘大有.唐海鹰.孙舒杨.虞强源.杨鲲 编著 <数据结构C++语言 ...

  10. 计算机算法对程序设计的作用,算法计算机论文,关于数学算法对计算机编程优化相关参考文献资料-免费论文范文...

    导读:本论文主要论述了算法计算机论文范文相关的参考文献,对您的论文写作有参考作用. (重庆人文科技学院 理工学院数学系,重庆 401572) 摘 要:数学算法是一种将很多问题进行归纳总结,然后采用统一 ...

最新文章

  1. python爬取哔哩哔哩视频_荐爬取哔哩哔哩中的cosplay小视频
  2. 如何在 TensorFlow 中用深度学习修复图像?(附论文)
  3. 新论文推荐:Auto-Keras:自动搜索深度学习模型的网络架构和超参数
  4. Il2CppDumper的使用方法,ILSpy中文版的下载地址
  5. python深度学习 共享 弗朗索瓦•肖莱(François Chollet)
  6. 学习笔记1-【计算机组成原理】-【计算机科学速成课】[40集全/精校] - Crash Course Computer Science
  7. systrace如何使用
  8. 风变编程python离线版_如何看待风变编程的Python网课
  9. Scratch 游戏项目学习法 —— 接苹果(八)添加接住苹果的接盘(角色)
  10. 北斗在线app服务器,北斗卫星导航app,北斗卫星导航app官网手机版预约 v1.0 - 浏览器家园...
  11. firefox关于about:config的常用配置
  12. PHP 判断字符串长度及字符串切割问题
  13. 【Python问题解决】---- ERROR: Could not install packages due to an OSError: [WinError 2] 系统找不到指定的文件。
  14. 可控硅的两种触发方式:移相触发和过零触发
  15. Linux基础知识学习笔记-----crack_the_WiFi_secret
  16. c++数独游戏3.3
  17. java date 操作_java日期操作-java Date-java Calendar-嗨客网
  18. 哪个计算机软件可以探究小孔成像,探究小孔成像实验报告.doc
  19. 剪辑音频用什么软件好?
  20. GDM, KDM, LightDM, SDDM的区别和安装配置

热门文章

  1. 嵌入式linux烧录文件格式,嵌入式文件系统镜像制作及烧写
  2. Matlab 矩阵的表示
  3. SQL入门SQL基本介绍
  4. python脚本编写流程
  5. 安装MySql时初始化 MySQL 数据库失败的几个总结
  6. 调整Ubuntu16.04屏幕分辨率
  7. 摄像头之自动曝光,自动增益,图像深度 概念
  8. JAVA 生成二维码并写到EXCEL中导出
  9. 10大PPT模板可直接套用助PM正确写好年终总结
  10. tf.estimator.Estimator解析