hdoj 5727 Necklace 二分图 全排列
来源:互联网 发布:sqlserver 视图概念 编辑:程序博客网 时间:2024/06/05 18:32
因为是个串,先全排列n个阴珠子的顺序 (n-1)!种因为编号1可以固定在头部因为是个串
然后每种排列后记录n个阳珠子是否能插进n个间隙的信息 也就是每个珠子是否能和哪个间隙匹配,然后求最大匹配,囧~~~~`
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;int mp[12][12],link[12][12],used[12],flag[12],n,m,per[12];int cnt = 0;bool dfs(int pre){ for(int i=1;i<=n;i++) if(!used[i]&&link[pre][i]) { used[i] = 1; if(!flag[i]||dfs(flag[i])) { flag[i] = pre; return true; } } return false;}int match(){ int ans = 0; memset(flag,0,sizeof(flag)); for(int i=1;i<=n;i++) { memset(used,0,sizeof(used)); ans+=dfs(i); } return ans;}void dfs2(int pre,int cnt1){ if(cnt==n)return ; if(pre==n+1) { per[pre] = 1; memset(link,0,sizeof(link)); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(!mp[per[j]][i]&&!mp[per[j+1]][i])link[i][j] = 1; cnt = max(cnt,match()); return; } for(int i=1;i<=n;i++) if(!(cnt1&(1<<(i-1)))) { per[pre] = i; dfs2(pre+1,cnt1|(1<<(i-1))); }}int main(){ while(scanf("%d%d",&n,&m)!=EOF) { cnt = 0; memset(mp,0,sizeof(mp)); while(m--) { int a,b; scanf("%d%d",&a,&b); mp[b][a] = true; } per[1] = 1; dfs2(2,1); printf("%d\n",n-cnt); } return 0;}
0 0
- hdoj 5727 Necklace 二分图 全排列
- hdu 5727 Necklace 全排列+二分图
- HDU 5727 Necklace (全排列+二分图最大匹配)
- hdu 5727 Necklace (全排列+二分匹配)
- HDU5727 Necklace (全排列+二分匹配)
- hdu 5727 - Necklace ( 环排列 + 二分图匹配)
- 全排列+二分图匹配
- HDU-5727Necklace-项链 全排列环+匈牙利
- HDU 5727 Necklace (二分图匹配hungary)
- HDU 5727 Necklace (二分图匹配)
- HDU 5727 Necklace(枚举+二分图)
- HDU 5727 Necklace(枚举+二分图匹配)
- HDU 5727 Necklace (二分图匹配)
- HDU 5727 Necklace(二分图匹配)
- Hdu 5727 Necklace(二分图匹配)
- hdu5727 Necklace(二分图)
- [HDU 5727] Necklace (暴力 + 二分图匹配)
- hdu 5727 Necklace 状压dp/二分图匹配
- UVA - 1586 Molar Mass
- C# Ping 简单使用
- LaTex学习笔记(1)——LaTeX文档插入图片的几种常用方法
- Oracle 建立索引及SQL优化
- TF-IDF与余弦相似性的应用(三):自动摘要
- hdoj 5727 Necklace 二分图 全排列
- 求出n个互异的数使得最小公倍数等于所有元素之和
- Android省市区三级联动滚轮选择(真实项目中提取出来的组件)
- 177.Which three statements are correct about temporary tables? (Choose three.)
- UVA - 401 Palindromes
- 178.All the database users are presently connected to the database instance and working. The HR user
- UVA - 644 Immediate Decodability
- 阿拉伯数字的研究
- freopen、setbuf、linux kill 简单记录