二分图相关

·判断二分图(染色)

#include<bits/stdc++.h>
using namespace std;
void __p(int x) {cerr<<x;}
void __p(long long x){cerr<<x;}
void __p(long double x){cerr<<x;}
void __p(double x){cerr<<x;}
void __p(string s){cerr<<s;}
void __p(char s){cerr<<s;}
void _print(){cerr<<"]\n";}
template<typename T,typename... V>//定义类模版
void _print(T t,V... v){__p(t);if(sizeof...(v))cerr<<",";_print(v...);}
#define debug(x...) cerr<<"["<<#x<<"] = ["; _print(x);
#define see1 cout<<"-------------\n";
#define see2 cerr<<"-------------\n";
#define io ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long 
#define double long double
#define sqrt sqrtl
/*1.进行移位运算时, 1LL<<n ,1后面不要忘了LL否则会溢出
2.数组开太大放到外面,作为全局数组
3.dfs递归深度超过几千层可能会溢出*/
const int N=2e5+10;
int a[N],n,m,vis[N],f=1;
vector<int>g[N];void dfs(int x){for(auto y:g[x]){if(vis[y]==0){a[y]=(a[x]^1);vis[y]=1;dfs(y);}else if((a[y]^1)!=a[x]){// debug(x,y);f=0; return; }}
}void solve()
{cin>>n>>m;vector<int>a(m+10),b=a;for(int i=1;i<=m;i++){cin>>a[i];}for(int i=1;i<=m;i++){cin>>b[i];}for(int i=1;i<=m;i++){int x=a[i];int y=b[i];g[x].push_back(y);g[y].push_back(x);}for(int i=1;i<=n;i++){if(!vis[i])dfs(i);}if(f)cout<<"Yes";elsecout<<"No";}signed main()
{ioint t=1;// cin>>t; while(t--){solve();}
}

 

· 妙妙构造

 

#include<bits/stdc++.h>
using namespace std;
void __p(int x) {cerr<<x;}
void __p(long long x){cerr<<x;}
void __p(long double x){cerr<<x;}
void __p(double x){cerr<<x;}
void __p(string s){cerr<<s;}
void __p(char s){cerr<<s;}
void _print(){cerr<<"]\n";}
template<typename T,typename... V>//定义类模版
void _print(T t,V... v){__p(t);if(sizeof...(v))cerr<<",";_print(v...);}
#define debug(x...) cerr<<"["<<#x<<"] = ["; _print(x)
#define see1 cout<<"-------------\n";
#define see cerr<<"-------------\n";
#define io ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define int long long 
#define double long double
#define sqrt sqrtl
const int inf = 8e18;
const int N=2e5+10;
vector<pair<int,int>>g[N];
int p[N],tot,n,m,a[N],d[N],cnt[2],vis[N];void dfs(int u){p[++tot]=u;for(auto [v,w]:g[u]){if(!vis[v]){vis[v]=1;d[v]=(d[u]^w);dfs(v);}else if(d[v]!=(d[u]^w)){cout<<-1;exit(0);}}
}void solve(){cin>>n>>m;for(int i=1;i<=m;i++){int u,v,w; cin>>u>>v>>w;g[u].push_back({v,w});g[v].push_back({u,w});}for(int i=1;i<=n;i++){if(!vis[i]){vis[i]=1;tot=0;dfs(i);for(int k=0;k<30;k++){cnt[0]=cnt[1]=0;for(int j=1;j<=tot;j++){cnt[((d[p[j]]>>k)&1)]++;}if(cnt[1]>cnt[0])a[i]+=(1<<k);}for(int j=1;j<=tot;j++){a[p[j]]=(a[i]^d[p[j]]);}}}for(int i=1;i<=n;i++)cout<<a[i]<<' ';}
signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t=1;//  cin>>t;while(t--){solve();}
}

 ·确保图是二分图的情况下添边

 

#include<bits/stdc++.h>
using namespace std;
const int N=120;
int c[N],n;
vector<int>g[N];void dfs(int u,int fa){for(auto v: g[u]){if(v==fa) continue;c[v]=(c[u]^1);dfs(v,u);}
}signed main(){cin>>n;for(int i=1;i<n;i++){int x,y; cin>>x>>y; g[x].push_back(y);g[y].push_back(x);}dfs(1,-1);set<pair<int,int>>s;// for(int i=1;i<=n;i++)// cout<<c[i]<<' ';// cout<<endl;for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++){if(c[i]==c[j]) continue;s.insert({i,j});// cerr<<i<<' '<<j<<endl;}}for(int i=1;i<=n;i++){for(auto j: g[i]){if(j<i) continue;s.erase({i,j});}}if(s.size()&1){cout<<"First"<<endl;while(1){cout<<s.begin()->first<<' '<<s.begin()->second<<endl;s.erase(s.begin());int x,y; cin>>x>>y; if(x==-1) break;s.erase({x,y});}}else{cout<<"Second"<<endl;while(1){int x,y;cin>>x>>y; if(x==-1) break;s.erase({x,y});cout<<s.begin()->first<<' '<<s.begin()->second<<endl;s.erase(s.begin());            }}}

 25/3/24

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39201.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java执行jar包提示没有主清单属性

以前都没遇到过这种情况&#xff0c;什么时候打jar&#xff0c; war包都没有遇到过&#xff0c; 按照网上说的创建了META-INF/MANIFEST.MF 还是报错 于是检查下maven 打包发现&#xff1a;竟然有skip 为true 去掉 skip true &#xff0c;进行打包&#xff0c;编译后正常

运动仿真——phased.Platform

在雷达仿真过程中&#xff0c;运动仿真的必要性&#xff0c;以及运动仿真可以实现哪些功能&#xff0c;在matlab对应的user guide中已经讲的很清楚了&#xff0c;这里不再赘述。 本文主要介绍phased.Platform的一些“坑”&#xff0c;和典型的用法。 第一坑&#xff1a;系统对…

用selenium+ChromeDriver豆瓣电影 肖申克的救赎 短评爬取(pycharm 爬虫)

一、豆瓣电影 肖申克的救赎 短评url=https://movie.douban.com/subject/1292052/comments 二、基本知识点讲解 1. Selenium 的基本使用 Selenium 是一个用于自动化浏览器操作的库,常用于网页测试和爬虫。代码中使用了以下 Selenium 的核心功能: webdriver.Chrome: 启动 Chr…

万象更新(一)VTK 坐标轴、相机方向坐标轴、立方体坐标轴

VTK 坐标轴、相机方向坐标轴、立方体坐标轴 1. 坐标轴、相机方向坐标轴、立方体坐标轴2. 坐标轴3. 相机方向坐标轴4. 立方体坐标轴 1. 坐标轴、相机方向坐标轴、立方体坐标轴 在 VTK&#xff08;Visualization Toolkit&#xff09;中&#xff0c;与坐标轴相关的组件主要包括 坐…

【Golang】go语言上下文context

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

ROS2与OpenAI Gym集成指南:从安装到自定义环境与强化学习训练

1.理解 ROS2 和 OpenAI Gym 的基本概念 ROS2&#xff08;Robot Operating System 2&#xff09;&#xff1a;是一个用于机器人软件开发的框架。它提供了一系列的工具、库和通信机制&#xff0c;方便开发者构建复杂的机器人应用程序。例如&#xff0c;ROS2 可以处理机器人不同组…

基于Spring Boot的乡村养老服务管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

### Java二维字符矩阵输入解析:正确读取由0和1组成的矩阵

在解决LeetCode等编程平台上的算法问题时&#xff0c;正确处理输入数据是解题的第一步。本文以Java语言为例&#xff0c;详细讲解如何正确读取由0和1组成的二维字符矩阵&#xff0c;并解决输入过程中可能遇到的换行符问题。 --- #### **问题背景** 题目要求从输入中读取一个二…

SEO监控看板搭建:基于Data Studio的实时数据可视化

在当今数字化营销的时代&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;已经成为企业获取流量、提升品牌曝光的重要手段。然而&#xff0c;SEO的效果往往需要通过数据来评估和优化。为了更高效地监控SEO表现&#xff0c;许多企业开始使用数据可视化工具来搭建SEO监控看板…

模糊数学 | 模型 / 集合 / 关系 / 矩阵

注&#xff1a;本文为来自 “模糊数学 | 模型及其应用” 相关文章合辑。 略作重排。 如有内容异常&#xff0c;请看原文。 模糊数学模型&#xff1a;隶属函数、模糊集合的表示方法、模糊关系、模糊矩阵 wamg 潇潇 于 2019-05-06 22:35:21 发布 1.1 模糊数学简介 1965 年&a…

如何根据目标网站调整Python爬虫的延迟时间?

一、为什么需要调整爬虫的延迟时间&#xff1f; 1. 反爬虫机制的挑战 大多数网站&#xff08;尤其是电商平台如淘宝&#xff09;都部署了反爬虫机制&#xff0c;用于检测异常的访问行为。如果爬虫的请求频率过高&#xff0c;可能会触发以下反制措施&#xff1a; IP封禁&…

【嵌入式学习2】内存管理

## C语言编译过程 预处理&#xff1a;宏定义展开、头文件展开、条件编译&#xff0c;这里并不会检查语法&#xff0c;将#include #define这些头文件内容插入到源码中 gcc -E main.c -o main.i 编译&#xff1a;检查语法&#xff0c;将预处理后文件编译生成汇编文件&#xff…

案例分享|树莓派媒体播放器,重构商场广告的“黄金三秒”

研究显示&#xff0c;与传统户外广告相比&#xff0c;数字户外广告在消费者心中的记忆率提高了17%&#xff0c;而动态户外广告更是能提升16%的销售业绩&#xff0c;整体广告效率提升了17%。这一显著优势&#xff0c;使得越来越多资源和技术流入数字广告行业。 户外裸眼3D广告 无…

WindowsPE文件格式入门02.选项头其它和节表

https://www.bpsend.net/thread-444-1-1.html 选项头 IMAGE_OPTIONAL_HEADER&#xff1a;以供操作系统加载PE文件使用&#xff0c;32位必选。 重要字段&#xff1a; DWORD AddressOfEntryPoint&#xff1b; 入口点 DWORD ImageBase 建议模块地址…

【Arm+Qt+Opencv】基于人脸识别考勤系统实战

1.编译时问题汇总 windows下编译opencv-4.5.4 opencv-4.5.4编译 问题1&#xff1a;配套使用opencv-4.5.4,opencv_contrib-4.5.4,cmake3.22.3问题会少一点 问题2&#xff1a;在windows下哪里执行该命令 解决&#xff1a; 问题3&#xff1a;在对应cmake中搜索不到要修改的配置…

Linux与HTTP中的Cookie和Session

HTTP中的Cookie和Session 本篇介绍 前面几篇已经基本介绍了HTTP协议的大部分内容&#xff0c;但是前面提到了一点「HTTP是无连接、无状态的协议」&#xff0c;那么到底有什么无连接以及什么是无状态。基于这两个问题&#xff0c;随后解释什么是Cookie和Session&#xff0c;以…

【Tauri2】001——安装及运行

前言 笔者其实不想写教程&#xff0c;写教程很麻烦。 但是网上关于Tauri2的教程&#xff0c;要么不全&#xff0c;要么是Tauri1的&#xff0c;真的太少了&#xff0c;虽然有官网&#xff0c;还是太少了。 问Ai&#xff0c;也感觉比较离谱&#xff0c;有很多时候&#xff0c;…

【DFS】羌笛何须怨杨柳,春风不度玉门关 - 4. 二叉树中的深搜

本篇博客给大家带来的是二叉树深度优先搜索的解法技巧,在后面的文章中题目会涉及到回溯和剪枝,遇到了一并讲清楚. &#x1f40e;文章专栏: DFS &#x1f680;若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的…

操作系统导论——第13章 抽象:地址空间

一、早期系统 从内存来看&#xff0c;早期的机器并没有提供多少抽象给用户。基本上&#xff0c;机器的物理内存如图13.1所示 操作系统曾经是一组函数&#xff08;实际上是一个库&#xff09;&#xff0c;在内存中&#xff08;在本例中&#xff0c;从物理地址0开始&#xff09;&…

网络爬虫-2:基础与理论

一.同步加载与异步加载 1.1同步加载定义: 页面所有内容一起加载出来,当某一个数据加载有问题,整个页面就不会加载出来(如HiFiNi音乐网站),所以又叫阻塞模式 1.2爬取步骤: 看netword->document 2.1异步加载定义: 数据是分开加载的,当某一份数据有异常时,不影响其他数据…