当前位置: 首页 > article >正文

二分图染色法

 题意:给定无向图,假设共有 n 个点,m 条边,要给每个点染成 黑色 或 白色,并且要使得每条边所连接的每个顶点都是不一样的颜色,问是否存在这样的方案?

问法套路:分成两组 1组 2组,且1组2组之间有一定的关系

// 模版代码
int color[N];
bool dfs( int u , int c )
{
    color[u] = c;
    for( int i = h[u] ; i != -1 ; i = ne[i] )
    {
        int j = e[i];
        if( color[j] == -1 )
        {
            if( !dfs( j , !c ) ) return false;
        }
        else if( color[j] == c ) return false;
    }
    return true;
}
bool check()
{
    memset( color , -1 , sizeof color );
    for( int i = 1 ; i <= n ; i++)
    {
        if( color[i] == -1 ){
        if( !dfs( i , 0 ) ) return false;
    }
    return true;
}

 典题:

传送门:Problem - E - Codeforces

思路:建图 + 二分图染色

传送门:[NOIP2010 提高组] 关押罪犯 - 洛谷

思路:二分 + 二分图染色

传送门:封锁阳光大学 - 洛谷

思路:二分图染色 + 贪心


http://www.kler.cn/news/361217.html

相关文章:

  • 使用 SSH 连接 GitLab 的常见问题及解决方案
  • 力扣困难题汇总(14道)
  • 【深度学习中的注意力机制6】11种主流注意力机制112个创新研究paper+代码——加性注意力(Additive Attention)
  • xxx.jar中没有主清单属性
  • ubuntu系统库和Anaconda库冲突问题
  • 如何轻松使用pip安装Git仓库中的私有Python模块(使用pip和Git仓库发布和安装私有Python模块)
  • 帝国CMS – AutoTitlePic 自动生成文章标题图片插件
  • Centos7 安装 Openssl 和 Nginx
  • 微分方程(Blanchard Differential Equations 4th)中文版Exercise 1.4
  • postgresql14主从同步流复制搭建
  • 跨域问题和前端攻击
  • 【开源免费】基于SpringBoot+Vue.JS母婴商城系统 (JAVA毕业设计)
  • 【Flutter】基础组件:Container
  • 逐行讲解大模型生成解码超参数源码(temperature、top-k、top-p等)
  • 【Flutter】配置:远程开发
  • 循环移位的学习
  • 【部署篇】rabbitmq-01介绍
  • FPGA 小鸟避障游戏
  • 磁编码器的工作原理和特点
  • 练习题(动态规划)
  • curl支持ssl报错:SSL certificate problem: unable to get local issuer certificate
  • 设置故障恢复机制
  • 2024 年某科技公司薪资 5k 前端开发岗位面试真题以及题解、知识点分析
  • 搭建自己的Docker(容器)镜像加速器
  • 广东工业大学《2021年+2020年810自动控制原理真题》 (完整版)
  • STM32--USART外设