分治
Motongxue
这个作者很懒,什么都没留下…
展开
-
分治棋盘覆盖
问题描述 在一个2k×2k (k≥0)个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为特殊方格。显然,特殊方格在棋盘中可能出现的位置有4k种,因而有4k种不同的棋盘,图4.10(a)所示是k=2时16种棋盘中的一个。棋盘覆盖问题(chess cover problem)要求用图4.10(b)所示的4种不同形状的L型骨牌覆盖给定棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。 实现: 每次都对分割后的四个小方块进行判断,判断特殊方格是否在里面。 这里的判断的方法是每次先记录下整个原创 2020-05-13 11:54:11 · 305 阅读 · 0 评论 -
分治 平面上的最近点对
分治 平面上的最近点对 题目描述 给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的。 输入格式: 多行输入 第一行:n;2≤n≤200000 接下来n行:每行两个实数:x y,表示一个点的行坐标和列坐标,中间用一个空格隔开。 输出格式: 仅一行,一个实数,表示最短距离,精确到小数点后面4位。 输入输出样例 输入样例#1: 10 1 1 1 5 3 1 ...原创 2020-04-29 23:05:49 · 412 阅读 · 0 评论 -
分治 斐波那契矩阵快速幂
斐波那契数列通过矩阵快速幂递推关系如下: 不理解可以计算一遍,验证其正确性 #include<iostream> using namespace std; //定义矩阵结构体,同时定义两个全局变量 struct matrix{ int m[2][2]; }ans,base; //矩阵的乘法 matrix multi(matrix a,matrix b){ matri...原创 2020-04-29 19:22:06 · 226 阅读 · 0 评论 -
分治 芯片测试
1. 芯片测试 在讲解具体的芯片测试的分治策略算法之前,先来了芯片测试的意思 1.1 一次测试的过程 如上图,A、B为芯片。测试方法为:将2片芯片(A和B)置于测试台上,互相进行测试,测试报告是“好”或者“坏”,只取其一。 假设:好芯片的报告一定是正确的,坏芯片的报告是不确定的(可能会出错) 那么上述测试的结果有四种可能,如下图: 上面的结果应该不难理解 那么现在问题来了: 输入:n...原创 2020-04-29 17:39:31 · 1497 阅读 · 0 评论