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

我男同同性做视频网站怎么做电商生意

我男同同性做视频网站,怎么做电商生意,手机app开发软件教程,wordpress文章行距很大二分图当且仅当一个图中不含奇数环 1.染色法 简单来说#xff0c;将顶点分成两类#xff0c;边只存在于不同类顶点之间#xff0c;同类顶点之间没有边。 e.g. 如果判断一个图是不是二分图#xff1f; 开始对任意一未染色的顶点染色。 判断其相邻的顶点中#xff0c;若未…二分图当且仅当一个图中不含奇数环 1.染色法 简单来说将顶点分成两类边只存在于不同类顶点之间同类顶点之间没有边。 e.g. 如果判断一个图是不是二分图 开始对任意一未染色的顶点染色。 判断其相邻的顶点中若未染色则将其染上和相邻顶点不同的颜色。 若已经染色且颜色和相邻顶点的颜色相同则说明不是二分图若颜色不同则继续判断。 bfs和dfs可以搞定  注意如果有三个点另外成环整个环是一个孤立环其他都满足二分图但是这个孤立不满足二分图二分图的点不一定连通。所以要遍历每一个点。 1.dfs思路 #include iostream #include cstring #include algorithm using namespace std; const int N200010; int e[N], ne[N], idx;//邻接表存储图 int h[N]; int n,m; int color[N]; void add(int a, int b)//邻接表插入点和边 {e[idx] b, ne[idx] h[a], h[a] idx; } bool dfs(int a,int c){color[a]c;for(int ih[a];i!-1;ine[i]){int je[i];if(!color[j]){if(!dfs(j,3-c)){return false;}}else{if(color[j]c){return false;}}}return true; } int main(){memset(h, -1, sizeof h);//初始化邻接表cin n m;for(int i 1; i m; i)//读入边{int a, b;cin a b;add(a, b), add(b, a);}for(int i1;in;i){if(!color[i]){if(!dfs(i,1)){puts(No);return 0;}}}puts(Yes);return 0; } 2.bfs思路 #include iostream #include cstring #include algorithm #include queue using namespace std; const int N200010; int e[N], ne[N], idx;//邻接表存储图 int h[N]; int n,m; int color[N];queueint q; void add(int a, int b)//邻接表插入点和边 {e[idx] b, ne[idx] h[a], h[a] idx; } bool bfs(int a){color[a]1;q.push(a);while(q.size()){auto tq.front();q.pop();for(int ih[t];i!-1;ine[i]){int je[i];if(!color[j]){color[j]3-color[t];q.push(j);}else if(color[j]color[t]) return false;}}return true; } int main(){memset(h, -1, sizeof h);//初始化邻接表cin n m;for(int i 1; i m; i)//读入边{int a, b;cin a b;add(a, b), add(b, a);}for(int i1;in;i){if(!color[i]){if(!bfs(i)){puts(No);return 0;}}}puts(Yes);return 0; } 2.匈牙利算法 要了解匈牙利算法必须先理解下面的概念 匹配在图论中一个「匹配」是一个边的集合其中任意两条边都没有公共顶点。 最大匹配一个图所有匹配中所含匹配边数最多的匹配称为这个图的最大匹配。 这篇文章把这个算法讲的很有意思  趣写算法系列之--匈牙利算法_匈牙利算法基本原理-CSDN博客  简单来说就是 遍历所有男生 让该男生考虑所有心动女生 如果当前女生单身或者该女生的对象找了备胎该女生就接受该男生 最坏时间复杂度 O(nm)和其它最大流问题一样实际比较快 #include cstring #include iostream #include algorithmusing namespace std;const int N 510, M 100010;int n1, n2, m; int h[N], e[M], ne[M], idx; int match[N]; bool st[N];void add(int a, int b) {e[idx] b, ne[idx] h[a], h[a] idx ; } bool find(int x){for(int ih[x];i!-1;ine[i]){int je[i];if(!st[j]){st[j]1;if(match[j]0||find(match[j])){match[j]x;return true;}}}return false; } int main() {scanf(%d%d%d, n1, n2, m);memset(h, -1, sizeof h);while (m -- ){int a, b;scanf(%d%d, a, b);add(a, b);}int res 0;for (int i 1; i n1; i ){memset(st, false, sizeof st);if (find(i)) res ;}printf(%d\n, res);return 0; } 在上述代码中有一个令人费解的东西就是st数组的作用其实直白的理解如果你每次不把st重新置为false那剩下的人一看到前面的妹子st已经为true不去让妹子的对象换掉这个妹子直接就放弃了会影响最后结果。 我们通过一个实际案例理解一下 不难看出st数组主要是在两个人连接了一个妹子的的时候才有用 这个st的存在让find在本次找的时候原来的那个男生不会再找这个妹子只会找其他的。 还有一种理解st的理解可以参考操作系统中锁的概念。假如说左边的是进程右边的是资源。当进程i要访问资源j时为了避免其他进程在此时访问资源j需要对资源j加一个“锁”即st[j] true。当进程i访问完资源时为了让后续其他进程也能访问资源需要把锁解开即memset(st, false, sizeof st)。
http://www.hkea.cn/news/14401574/

相关文章:

  • 网站建设翻译成英文旅行社网站建设策划书
  • 那个网站可以做ppt赚钱济源网站建设哪家好
  • 网站开发的具体流程图河北网站建设收益
  • vue 做的网站怎么样在网站上做跳转
  • 有关网站设计与制作的论文汕头人口
  • 做网站设计学那个专业好名人朋友圈网页版qq登录入口
  • 求网站建设详细过程网站的开发方法有哪些
  • 做标签网站刷单学生个人网页制作成品
  • seo如何分析一个网站建站网址什么意思
  • 网站建设搞笑广告词简单网页设计作品欣赏
  • 做网站是怎样赚钱网站建设报价比较
  • 网站开通宣传怎么写wordpress 主题 xiu
  • dedecms部署两个网站共享会议室租赁平台
  • 网站建设费预付定金什么科目企业网站建站之星
  • 做雷达干扰的网站东莞浩智建设网站哪家比较好
  • 长沙企业建站程序免费个人网站搭建
  • 大哥商品做网站的目的新会住房和城乡建设部网站
  • 南通做百度网站的公司家具全屋定制
  • 怎么用自己电脑做网站服务器做电商看的网站有哪些内容
  • 做文学网站算不算开公司网站建设栏目规划
  • 坪地网站建设市场百度网站联系方式
  • 网站开发项目流程书电商ui设计是什么意思
  • 网站后台风格网站后缀co
  • 竞争者网站建设情况宁波网站推广软件服务
  • 免费论坛申请网站微网站 底部导航菜单
  • 网站开发背景400字化工材料 技术支持 东莞网站建设
  • 兴国做网站天津网
  • 河北建设网官方网站c c也能干大事网站开发
  • 网站建设及域名申请 厦门建设银行储蓄卡申请网站
  • 教育网站 怎么做吸引人seo怎么判断网站的好坏