首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

撬动offer:图的着色问题

给定一个无向图 G,为图中的每一个节点着色。一个合法的图着色方案必须要满足条件:任意两相邻节点的颜色不同。问题是,希望找到使用颜色数尽可能少的着色方案。...如下图所示,一个包含 4 个节点的图,以及一种着色方案。这个着色方案使用了 3 种颜色,但不是最优的,可以找到只使用 2 种颜色的着色方案。 ?...具体方法如下: 初始化未着色节点列表 U 为图的全部节点的列表 把未着色的节点列表 U 按照各节点未着色的邻接点的数目从大到小排序 选一个未使用的颜色 i,开始一轮着色,同时准备一个集合 Ci,后面会将所有用颜色...Ci, 若无法用 i 着色则跳过此节点 把集合 C 里面的所有节点从列表 U 中移除 重复进行 2–5,直到所有节点被着色 0x04:输入输出格式 输入 第一行有两个整数,第一个为图的节点数目,第二个为图的边的数目...从第二行开始,每一行用两个整数表示这个图的一条边,这两个整数是组成这条边的两个节点的 ID(节点 ID 从 0 开始编号)。 输出 第一行用一个整数表示使用的颜色数。第二行。

1.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    POJ 1129 | 频道分配(图的着色)

    然而,每个中继器所使用的频道必须很好地选择,以保证相邻的中继器不会互相干扰。要满足这个条件,相邻中继器必须使用不同的频道。...如果一个中继器没有相邻中继器,则其格式为: A: 注意:相邻关系是对称的,A与B相邻,则B也与A相邻;另外,中继器网络是一个平面图,即中继器网络所构成的图中不存在相交的边。...输出描述: 对每个中继器网络,输出一行,为该中继器网络所需频道的最小数目。 分析: 很明显,本题要求的是图G的色数χ(G)。样例输入中第2个测试数据所描述的中继器网络如图20所示。...本题采用前面介绍的顺序着色算法求解,例如在图20(c)中给顶点C着色时,它的邻接顶点中,顶点D和F目前没有着色,顶点B着色为第1种颜色,所以给顶点C着色为第0种颜色。...最终的着色方案如图20(d)所示,求得的χ(G)为4。 ?

    1.3K30

    考场安排---图的着色原理之运用

    (提示:如果两门课被同一个同学选上,则表示这两门课的顶点之间存在一条边)。...【问题分析】 本问题可转换成是对一平面图的顶点着色问题判定,既采用回溯法求解。将所选的每门课程变成一个结点,若一个同学选了m(1≤m≤n)门课程时,则这m门课程所对应的结点互相用一条边连接起来。...则相邻边的顶点不能着同一种颜色,既不能安排在同一场次考试。但本题又不同于m-着色问题,而是要求最少场次考完,故本问题是求min-着色问题,既所有的顶点最少可用多少种颜色来着色,则本问题可解。...【数据结构】 图的邻接矩阵test[MAX][MAX]来表示一个图G,其中若(i,j)是G的一条边,则test[i][j]= test[j] [i] =1,否则test[i][j]= test[j] [...【算法设计与分析】 函数init()是从testArrange.in中读取数据,并建立对应的邻接矩阵,对于本程序所给出的样例第一组数据的邻接矩阵为图1,平面图为图2。 ?

    1.5K20

    Tensorflow用于黑白照片(灰度图)着色的测试

    视觉效果一直是计算机视觉研究的一个重要领域,如风格迁移等已经是各大顶会的重要栏目。        本篇文章主要用于探索黑白照片着色的功能。        ...可以理解为对图像中的要素进行更好地识别之后,可以采用背后训练集中上百万张的图片的颜色来进行渲染。 看了下一些开放的代码,并进行测试,发现效果并没有网站上说的那么好。...不过这也是因为训练数据集相对有限的原因吧。直接上图就行: (1) 测试图片一:少林寺 ? 其对应的原始图片是: ? 而着色效果为: ?...可以看出图片上的绿色部分着色效果较好,这也与训练集中绿色植物的效果最好。 (2) 测试图片二:仍旧按照灰度图,原始图和着色图来排列。 ? ? ?...可以看到,这种原始的imagenet高度相关的图片,着色效果会更好一些,当然也不完美就是,如天空的分辨。这也不可避免,由于天空的颜色在灰度图里面是看不到任何信息的。而且也没有形状。

    2.8K50

    博弈论进阶之树的删边游戏与无向图的删边游戏

    PS:本文内容大部分借(chao)鉴(xo)自yhqz 树的删边游戏 给出一个有 N个点的树,有一个点作为树的根节点。游戏者轮流从树中删去边,删去一条边后,不与根节点相连的部分将被移走。...结论 叶子节点的SG值为0;中间节点的SG值为它的所有子节点的SG值加1后的异或和。 无向图的删边游戏 一个无相联通图,有一个点作为图的根。...游戏者轮流从图中删去边,删去一条边后,不与根节点相连的部分将被移走。 谁无路可走谁输。...结论 对于这个模型,有一个著名的定理——Fusion Principle 我们可以对无向图做如下改动:将图中的任意一个偶环缩成一个新点,任意一个奇环缩成一个新点加一个新边;所有连到原先环上的边全部改为与新点相连...这样的改动不会影响图的SG 值。 这样的话,我们可以将任意一个无向图改成树结构,“无向图的删边游戏”就变成了“树的删边游戏”。

    1.5K70

    曼哈顿图如何指定不同染色体不同的颜色

    大家好,我是邓飞,最近星球(飞哥的知识星球)有老师问了一个问题: GAPIT软件,染色体的颜色是5个一循环,他有12个染色体,想每条染色体一个颜色绘制一条染色体: 我的回答:GAPIT大概率没有参数设置...,但是可以把结果文件用CMplot进行可视化,这个肯定是没问题的,我回头写篇博客。...,提取12条染色体作为演示: 2,默认绘制曼哈顿图 # 默认颜色循环 CMplot(dd1[,1:4],plot.type = "m",threshold = c(0.05/nrow(dd)),file.output...3,设置十二个颜色用于表示十二条染色体 CMplot包中的col参数,可以定义不同的颜色。...CMplot(dd1[,1:4],plot.type = "m",threshold = c(0.05/nrow(dd)),file.output = F,col = colors) Rstudio中不同颜色

    10410

    ggBubbles--气泡图的不同画法!

    导语 气泡图(bubble chart)可用于展示三个变量之间的关系。 背景介绍 气泡图在我们做功能富集的时候最常用到,下面是一个很常见实例。...今天小编给大家介绍一个不同的气泡图画法--mini bubble plots,在比较离散数据时,迷你气泡图允许通过颜色、形状或标签显示比传统气泡图更多的信息。...R包安装 require(ggplot2) require(ggBubbles) require(dplyr) require(tibble) 结果解析 01 两种气泡图比较 在这里,我们展示了在某些具有离散数据的用例中...MiniBubble 图与传统 Bubbleplot 相比的优势。...实例数据: data(MusicianInterestsSmall) head(MusicianInterestsSmall) 传统气泡图 传统的气泡图能够按大小描绘能够演奏爵士乐或古典音乐的吉他手或钢琴手的数量

    1.3K30

    P3916 图的遍历【反向建边 + DFS】

    https://www.luogu.com.cn/problem/P3916 题目描述 给出NN个点,MM条边的有向图,对于每个点vv,求A(v)A(v)表示从点vv出发,能到达的编号最大的点。...M \le 10^31≤N.M≤103; • 对于100% 的数据,1 \le N , M \le 10^51≤N,M≤105。 题解:反向建边,再进行搜索。...例如题目中,反向建边后是:2->1,4->2,3->4,从大到小开始DFS。...(反向建边后,如果遍历该节点连接的边,即能够到达的地方,比如e[4] 里面存储了2,那么2一定能到达4,如果之后遍历3,2,1的时候,一定也不会比4大。关键是从大到小进行了遍历。)...这样子如果当前点的ans[ ]有数值了,就说明已经遍历过了,而且肯定比当前要大,就不需要再继续遍历下去。 碎碎念:正常建边,然后跑DFS,一大半样例会TLE,只有我这样子的憨憨才会这样子做。。。

    45720

    图神经网络入门(五)不同类型的图

    有向图(Directed Graph) 第一个变种,有向图,在边上增加了方向信息。实例如知识图谱中头实体指向尾实体的关系就是一个有向的边,它说明对两个方向的传播应当区别对待。...异构图(HETEROGENEOUS GRAPHS) 异构图指的是图中存在不同类型的节点和边(节点和边至少有一个具有多种类型),常见于知识图谱的场景。...对每一个邻居节点组成的团体,GI 将其视为一个同构图中的子图进行传播,最终将不同的同构图得到的表示进行拼接得到最终的表示。...——来自维基百科的定义,具体的我也不是很明白…… 带有边信息的图(GRAPHS WITH EDGE INFORMATION) 这一类图的边包含一定的信息,如边的权重/类型。...G2S的节点编码部分传播过程如下: ? 其中 为关系类型相关的参数。 其二为R-GCN(Relational GCN),就是对不同关系的边提供不同的权重矩阵。

    7.2K20

    R 案例|绘制不同分布的 QQ 图

    简介 论文中需要绘制数据对于不同分布假定下的 QQ 图。这里小编主要是使用 qqplotr 包进行绘制,参考的博客:An Introduction to qqplotr[1]。...简单版本 绘制正态分布的 QQ 图 对于经典的正态分布的 QQ 图,大家可能并不陌生,并且在网上可以找到很多“搬运”的中文推文。但是解释的都不是很清楚。...下面代码给出三种不同方法构造置信区间的结果。并且使用 viridis 包,对其进行配色修改。...QQ 图 这里先绘制其指数分布的 QQ 图。...读者可以使用其他分布进行拟合,并比较对应的 QQ 图,寻找最合适的分布。 然后把这些 QQ 图 合并到一起,通过可视化直观的进行比较。 这里使用 cowplot[2] 包,将两图进行合并。

    2.8K10

    边学边用Gradle:Gradle的脚本结构

    前言 一个简单的Gralde脚本,主要包含如下内容,其中标明可选的都是可以删掉的部分: 插件引入:声明你所需的插件---如 apply plugin: 'java' 属性定义(可选):定义扩展属性---...构建和测试所需的一切。...可声明用于编译和执行构建脚本的类路径。该类路径也用于加载构建脚本使用的插件。 简单说即设置脚本的运行环境。 buildscript中的声明是gradle脚本自身需要使用的资源。...可以声明的资源包括依赖项、第三方插件、maven仓库地址等。 而在build.gradle文件中直接声明的依赖项、仓库地址等信息是项目自身需要的资源。...的时候只需要按照用类似于com.android.tools.build:gradle:0.4,gradle 就会自动的往远程库下载相应的依赖。

    1.7K00

    圈图 | 不同品种的基因型数据绘制PCA图和聚类分析图

    PCA是降维的一种方法。 本次再增加一下聚类的形式。 很多软件可以分析PCA,这里介绍一下使用plink软件和R语言,进行PCA分析,并且使用ggplot2绘制2D和3D的PCA图。...绘制后的图如下: 2-D PCA图: ? 图片解释,将每个品种用不同的颜色表示,同时绘制置信区间圆圈,X坐标是PC1,解释24.9%的变异,Y坐标是PC2,解释10.61%的变异。...可以看到,三个品种在PCA图里面分的比较开,C品种的有两个A和B的点,应该是异常数据。 3-D PCA图: ?...图片解释,将每个品种用不同的颜色表示,X坐标是PC1,解释24.9%的变异,Y坐标是PC2,解释10.61%的变异,Z坐标是PC3,解释1.02%的变异。...然后使用R语言,计算PCA,并绘制PCA图。

    2.1K20

    大学,我是怎么边学编程边赚钱的?

    首先给这位朋友点个大大的赞,我非常支持他的想法,在大学期间想到自己赚取生活费是很棒的,尤其是用自己感兴趣的、和未来发展目标一致的知识技术来赚钱再好不过! 我本科也是计算机专业,大部分时间是自学。...进实验室 加入学院的实验室,跟老师和学长们一起做项目,很大程度意味着你有了一份稳定的收入,毕竟学院的经费通常还是挺多的。...接外包 网上有非常多的收费 Lab 实验和外包项目平台,像程序员客栈、猪八戒之类的,有短期、也有长周期的,视需求复杂度来给钱。...虽然现在网络上赚钱的方式太多了,比如拍抖音、直播带货、做公众号等,但每个人志向和天赋不同,别人的成功不一定是你能够模仿来的,未必能够看到成功背后的故事。...还是先踏踏实实的,想当程序员的话,就先学好技术再考虑赚钱,或者像上面提到的边学边赚。

    1.6K30

    边抄边遮,谁是最像 Tableau 的“国产崽”?

    从期初的不习惯,到如今得心应手;从期初的吐槽,到边用边记录“bug 清单”,我也在冷静地观察国产 BI 的发展。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍...这在之前的测评中体现的淋漓尽致,比如多种可视化图表可选,但条形图甚至不能添加第二个坐标轴。同时,QuickBI 显然无法设计 DAX 一样的复杂逻辑,用底层的逻辑复杂性,来简化上层的复杂性。...要知道,PowerBI 和 Tableau 背后是截然不同的两套逻辑,一个看似相同的可视化背后,是截然不同的方法论。 也正因为此,我常常说“PowerBI 向左、Tableau 向右”。...PowerBI 最大的优点是“扩展性”,缺点是灵活性差,比如桑基图、漏斗图都能快速实现,但最简单的条形图反而都扩展有限;好在 DAX 的强大,弥补了这个不足。‍‍‍‍‍‍‍‍‍‍‍‍‍‍...可见,Tableau 和 PowerBI 只有方向上的不同,而无明显的优劣,它们使用的群体不同,从而可以独揽 BI 市场头两把交椅。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ ‍‍‍‍‍‍‍

    12210

    多图详解不同环境下的EventLoop执行机制

    并发模型 在 JavaScript 中我们听到最多的词可能就是所谓的“单线程”,所以导致了在 JS 中所谓的异步并行模型和许多后台语言是不同的。...image.png 图片来自修言的小册《前端性能优化原理与实践》 其实关于浏览器中的 EventLoop 这张图都已经足够代表一切了。...Node APi 这是 NodeJs 官方指南中对于事件循环的描述,在深入了解这张图之前我们先来看看 NodeJs 对于浏览器环境来说多了哪些 API 任务。...image.png 正如我们期待的那样对吧,可是如果你多次运行这段代码你就会发现有所不同。(甚至有可能你的运行结果现在就和我不同了) 当我在此运行这段相同的代码时,奇怪的事情发生了。...只不过唯一不同的就是 NodeJs 中针对于 EventLoop 实现一些自定义的额外队列,它是基于Libuv 中自己实现的事件机制。

    64020

    3阶有向完全图的所有非同构的子图(不同钩子图个数)

    下面给出我的算法设计(这里考虑边和点除了ID之外,还有label): 边和图结构: struct EDGE { int id2; int label; EDGE(int _id2, int _label...就是多少 //vector存放EDGE[id2,label]组元,表示每个节点对应的兄弟节点id以及这两个节点间的边的label, //vector大小由每个节点的兄弟数量决定...e.id2=id; e.label=label; g->vAdjacencyEdge[id2].push_back(e);//id2->id的边 } } fclose(fp);...=dbG->vLabel[dbG_vID]) //如果两个点的label不同,则【一定不】满足feasibility rules { return false; } //其次,判断是不是每次...的“neighbor节点”) //2)如果存在多个相邻对(quVid,dbVid),则必须要求【所有的】邻接边对( edge(quG_vID,quVid), edge(dbG_vID,dbVid) )

    1.2K30
    领券