loj#526. 「LibreOJ β Round #4」子集
来源:互联网 发布:前端整么添加数据 编辑:程序博客网 时间:2024/06/03 05:07
给N个点,给出建边的条件,求图中的最大团,直接跑最大团模板会超时,建个对偶图,跑二分图匹配,最大团子集中点的个数就是n-匹配数
#include<cstdio>#include<cstring>using namespace std;const int maxn = 505;int n;long long num[maxn];int match[maxn];int vis[maxn];int bmap[maxn][maxn];long long gcd(long long a, long long b){ return a == 0 ? b : gcd(b % a, a); }bool dfs(int u){ vis[u] = 1; for(int i=1;i<=n;i++) { if(i==u||vis[i]||bmap[u][i]) continue; if(match[i]==-1||!vis[match[i]]&&dfs(match[i])) { match[i] = u; match[u] = i; return true; } } return false;}int max_match(){ int ans = 0; memset(match,-1,sizeof(match)); for(int i=1;i<=n;i++) { if(match[i]==-1){ memset(vis,0,sizeof(vis)); if(dfs(i)) ans ++; } } return ans;}int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%lld",&num[i]); memset(bmap,0,sizeof(bmap)); for(int i=1;i<=n;i++) { for(int j=i+1;j<=n;j++) { if(gcd(num[i],num[j])*gcd(num[i]+1,num[j]+1)!=1) { bmap[i][j] = 1; bmap[j][i] = 1; } } } printf("%d\n",n-max_match()); return 0;}
阅读全文
0 0
- loj#526. 「LibreOJ β Round #4」子集
- [LibreOJ β Round #4]子集
- [数论] LOJ #510. 「LibreOJ NOI Round #1」北校门外的回忆
- [链分治] LOJ #511. 「LibreOJ NOI Round #1」验题
- [反演] LOJ #509. 「LibreOJ NOI Round #1」动态几何问题
- [数论] LOJ #508. 「LibreOJ NOI Round #1」失控的未来交通工具
- [DP 倍增Floyd] LOJ#539.「LibreOJ NOIP Round #1」旅游路线
- [LibreOJ β Round #4]游戏
- [LibreOJ β Round #4]多项式
- [LibreOJ β Round #4]框架
- [LibreOJ β Round #4]求和
- LibreOJ #505.「LibreOJ β Round」ZQC 的游戏 网络流
- LibreOJ #504. 「LibreOJ β Round」ZQC 的手办 线段树+堆
- [结论] LibreOJ #520. 「LibreOJ β Round #3」绯色 IOI(开端)
- [匹配+拓扑] LibreOJ #521. 「LibreOJ β Round #3」绯色 IOI(抵达)
- [数学杂题] LibreOJ #530「LibreOJ β Round #5」最小倍数
- [数学杂题] LibreOJ#532. 「LibreOJ β Round #5」随机数列
- 「LibreOJ β Round #2」DP 一般看规律
- 输出所有的水仙花数
- filebeat收集日志
- MATLAB读取十六进制文件
- 图片下载功能
- 用一个数组实现三个栈结构
- loj#526. 「LibreOJ β Round #4」子集
- addEventListener与handleEvent
- 中间件 消息队列 ActiveMQ
- 关于iOS中委托(Delegate)的几点看法
- Leetcode-8. String to Integer (atoi)
- 【Spring in action】SpringMVC的准备工作:Servlet基础
- 数据库三范式
- 西瓜书《机器学习》阅读笔记3——Chapter2_ROC曲线
- 【HTTP】Fiddler(一)