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

网站建设 软件开发2021最近最火的关键词

网站建设 软件开发,2021最近最火的关键词,做网站制作利润有多少,国庆贺卡制作图片这是经典的最大点独立集 还是可以转化成最大匹配数&#xff0c;为什么呢&#xff0c;因为求出最大匹配数之和&#xff0c;匹配的边的两个端点互斥&#xff0c;只能去一个&#xff0c;所以最后结果就用总点数-最大匹配数即可 #include <iostream> #include <cstdio>…

这是经典的最大点独立集

还是可以转化成最大匹配数,为什么呢,因为求出最大匹配数之和,匹配的边的两个端点互斥,只能去一个,所以最后结果就用总点数-最大匹配数即可

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int h[600],sex[600];
char music[600][200],ball[600][200];
int d[600][600],vis[600],lefts[600];
int n;
bool match(int u)
{for (int v=0;v<n;v++){if (d[u][v] && !vis[v]){vis[v]=1;if (lefts[v]==-1 || match(lefts[v])){lefts[v]=u;return true;}}}return false;
}
int main()
{int t;char tmp[3];scanf("%d",&t);while (t--){scanf("%d",&n);for (int i=0;i<n;i++){scanf("%d%s%s%s",&h[i],tmp,music[i],ball[i]);if (tmp[0]=='M') sex[i]=1;else  sex[i]=0;}memset(d,0,sizeof d);for (int i=0;i<n;i++)for (int j=i+1;j<n;j++){if (abs(h[i]-h[j])<=40 && (sex[i]^sex[j]) && strcmp(music[i],music[j])==0 && strcmp(ball[i],ball[j])!=0){if (sex[i]==1) d[i][j]=1;else  d[j][i]=1;}}int sum=0;memset(lefts,-1,sizeof lefts);for (int i=0;i<n;i++){memset(vis,0,sizeof vis);if (match(i)) sum++;}int ans=n-sum;printf("%d\n",ans);}return 0;
}

 

 

这个题目也可以不把男女生分开建图(上面我区分了男女,把男的放在左边) 全部统一建图,求出来的匹配数/2即可,原因很简单,其实就是统一建图就是把上面的图左右反过来又加在原图一下,所以匹配数是实际的两倍

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int h[600],sex[600];
char music[600][20],ball[600][200];
int d[600][600],vis[600],lefts[600];
int n;
bool match(int u)
{for (int v=0;v<n;v++){if (d[u][v] && !vis[v]){vis[v]=1;if (lefts[v]==-1 || match(lefts[v])){lefts[v]=u;return true;}}}return false;
}
int main()
{int t;char tmp[3];scanf("%d",&t);while (t--){scanf("%d",&n);for (int i=0;i<n;i++){scanf("%d%s%s%s",&h[i],tmp,music[i],ball[i]);if (tmp[0]=='M') sex[i]=1;else  sex[i]=0;}memset(d,0,sizeof d);for (int i=0;i<n;i++)for (int j=i+1;j<n;j++){if (abs(h[i]-h[j])<=40 && (sex[i]^sex[j]) && strcmp(music[i],music[j])==0 && strcmp(ball[i],ball[j])!=0){d[i][j]=d[j][i]=1;// cout<<h[i]<<" "<<h[j]<<endl;// cout<<i<<" is connect "<<j<<endl;
          }else d[i][j]=d[j][i]=0;}int sum=0;memset(lefts,-1,sizeof lefts);for (int i=0;i<n;i++){memset(vis,0,sizeof vis);if (match(i)) sum++;}//cout<<sum<<endl;int ans=n-sum/2;printf("%d\n",ans);}return 0;
}

 

转载于:https://www.cnblogs.com/kkrisen/p/3768766.html

http://www.lbrq.cn/news/2556469.html

相关文章:

  • 重庆网站制作开发南通做网站推广的公司
  • 广告行业做网站哪个好游戏推广员好做吗
  • 自助建设网站软件网页制作软件下载
  • 网站制作公司 顺的saas建站
  • 建设手机行网站软文写作服务
  • 代码重构网站站长工具 seo查询
  • 建站素材网今日油价92汽油价格表
  • 公司网站建设 入账互联网营销推广
  • 网站做迅雷下载链接关键词上首页软件
  • 凡科网站是什么做的网络优化工程师前景
  • 模板网站如何大量复制上线快速关键词排名首页
  • 华容网站定制如何做企业网页
  • 网站制作容易吗软件推广
  • 个人注册公司费用简述seo的优化流程
  • 怎样做企业的网站广州市口碑seo推广外包
  • 手机有软件做ppt下载网站有哪些内容国外网页模板
  • 江门网站建设开发广州seo优化外包公司
  • 成都专业网站制作多少钱企点qq
  • 做网站的镜像是什么意思网站百度权重查询
  • 品牌型网站建设方案模板免费下载网站
  • 有哪些做平面设计好的网站有哪些500强企业seo服务商
  • 新乡网站制作2345浏览器下载安装
  • 微站是什么网络营销案例
  • 怎么做网站链接的快捷方式广西百度seo
  • 湖南响应式网站建设费用站长网站统计
  • 天津做app和网站的公司网站建设教程
  • 校园局域网站建设费用效果好的东莞品牌网站建设
  • 苏州建行网站首页太原网站排名推广
  • 徐州免费建站模板抖音seo查询工具
  • 小说盗版网站怎么做的让手机变流畅的软件下载
  • 新手小白如何快速检测IP 的好坏?
  • 加密与安全
  • Qt 开发自动化测试框架搭建
  • 【暑期每日一题】洛谷 P9390 金盏花
  • 【未解决】STM32无刷电机驱动电路问题记录
  • diffusion原理和代码延伸笔记1——扩散桥,GOUB,UniDB